中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

MVVM架構~knockoutjs系列(lie)之為Ajax傳遞(di)Ko數(shu)組(zu)對象

返回目錄

一些要說的

這是(shi)一(yi)個(ge)很有意思的(de)題目,在KO里,有對象和數(shu)組(zu)對象兩種,但這兩種對象對外表(biao)現都是(shi)一(yi)個(ge)function,如(ru)果希(xi)望得到他的(de)值,需要(yao)進行(xing)函(han)數(shu)式調用,如(ru)ko_a(),它的(de)結果為一(yi)個(ge)具(ju)體值或者數(shu)組(zu)或者函(han)數(shu),而ko_a則表(biao)示一(yi)個(ge)KO對象。

今天主要說一下(xia)如何(he)在ajax方法里向后臺傳(chuan)遞對象和數(shu)組等參數(shu),一般說來,我(wo)們為后臺傳(chuan)遞的是字符串和數(shu)字,而如果希望傳(chuan)遞對象,則需(xu)要使用(yong)$.param這個方法,下(xia)面具體用(yong)代(dai)碼(ma)說一下(xia)。

一些要做的

一般后以(yi)的(de)代(dai)碼理想是這樣的(de)

   public JsonResult GeneratorOrder(int[] idArr)//一些需要被產生訂單的購物(wu)車記錄ID
        {
            //TODO:Generator Order
            return Json(idArr);
        }

而這樣的(de)后臺(tai)接口來說,我們前臺(tai)ajax的(de)參數需要做(zuo)一個$.param的(de)處理,如下

         $.ajax({
                    type: "post",
                    url: "/order/GeneratorOrder",
                    data: $.param( self.SelCart(),true),    //! 把(ba)數組直(zhi)接作為$.param的參(can)數是不(bu)可以(yi)的
                    dataType: "json",
                    success: function (data) {
                        Boxy.alert("To payPage of products:" + JSON.stringify(data));
                    }
                });

而事實上,上面(mian)的代碼運行(xing)結果(guo)卻是錯誤的,因為$.param方法只(zhi)支持對(dui)(dui)象(xiang),不支持直接的數(shu)(shu)組(zu),而數(shu)(shu)組(zu)如果(guo)在(zai)對(dui)(dui)象(xiang)里,是可以(yi)被(bei)支持的,這(zhe)也很有意思(si),所以(yi),上面(mian)代碼我們需(xu)要修改一下

         $.ajax({
                    type: "post",
                    url: "/order/GeneratorOrder",
                    data: $.param({ idArr: self.SelCart() },true),    //! 注意要傳遞第二個參數
                    dataType: "json",
                    success: function (data) {
                        Boxy.alert("To payPage of products:" + JSON.stringify(data));
                    }
                });

下(xia)面的運行結果是我們希望看到的

 返回目錄

posted @ 2014-06-13 10:43  張占嶺  閱讀(2643)  評論(2)    收藏  舉報