文章出處

返回目錄

一些要說的

這是一個很有意思的題目,在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));
                    }
                });

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

 返回目錄


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()