文章出處
文章列表
一些要說的
這是一個很有意思的題目,在KO里,有對象和數組對象兩種,但這兩種對象對外表現都是一個function,如果希望得到他的值,需要進行函數式調用,如ko_a(),它的結果為一個具體值或者數組或者函數,而ko_a則表示一個KO對象。
今天主要說一下如何在ajax方法里向后臺傳遞對象和數組等參數,一般說來,我們為后臺傳遞的是字符串和數字,而如果希望傳遞對象,則需要使用$.param這個方法,下面具體用代碼說一下。
一些要做的
一般后以的代碼理想是這樣的
public JsonResult GeneratorOrder(int[] idArr)//一些需要被產生訂單的購物車記錄ID { //TODO:Generator Order return Json(idArr); }
而這樣的后臺接口來說,我們前臺ajax的參數需要做一個$.param的處理,如下
$.ajax({ type: "post", url: "/order/GeneratorOrder", data: $.param( self.SelCart(),true), //! 把數組直接作為$.param的參數是不可以的 dataType: "json", success: function (data) { Boxy.alert("To payPage of products:" + JSON.stringify(data)); } });
而事實上,上面的代碼運行結果卻是錯誤的,因為$.param方法只支持對象,不支持直接的數組,而數組如果在對象里,是可以被支持的,這也很有意思,所以,上面代碼我們需要修改一下
$.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)); } });
下面的運行結果是我們希望看到的
文章列表
全站熱搜