通过AJAX发布JSON会导致请求负载混乱

时间:2014-08-06 20:38:15

标签: ajax datatables jquery-datatables

使用JS Datatables jQuery插件,我试图将JSON数据发布到服务器并在响应中使用JSON来最终填充数据表。但是我遇到了一些奇怪的行为。

使用此代码:

table_config.ajax = {
                "type": "POST",
                "url": $(location).attr('pathname'),
                "data": JSON.stringify({'member_id':2444}),
                "dataType": "json",
                "contentType": "application/json",
                "dataSrc": "results.data"
            };

我得到400 HTTP响应,请求有效负载如下:

0 =%7B&安培; 1 =%22安培; 2 = M&安培; 3 = E&安培; 4 =米和5 = B和6 = E及7 =的R& 8 = _和9 = I&安培; 10 = d&安培; 11 =%22安培; 12 =%3A和; 13 = 2和14 = 4和15 = 4和16 = 4和17 =%7D

这里发生了什么?

2 个答案:

答案 0 :(得分:2)

stringify选项中data已经是字符串的内容。

尝试:

table_config.ajax = {
            "type": "POST",
            "url": $(location).attr('pathname'),
            "data": { member_id: 2444 },
            "dataType": "json",
            "contentType": "application/json",
            "dataSrc": "results.data"
};

答案 1 :(得分:0)

对于数据表网格,它在我尝试this

时有效
ajax: {
  url: ...,
  data: function ( d ) {
    return JSON.stringify({"name" : "foo"});
  },
"contentType": "application/json"

}