2011-03-01 57 views
0

使用jQuery 1.4.4版,我无法得到适当的JSON输出,当我打电话或阿贾克斯.post的类似如下:JQuery的.POST功能dataType参数似乎没有做任何事情

$.ajax({type: "POST", url: callbackUri, data: { cow: ["oh", "hello", "there"]}, success: returnFunction, dataType: "json"}); 

或以下内容:

$.post(callbackUri, { cow: ["oh", "hello", "there"]}, returnFunction, "json");. 

HTTP请求的身体看起来像这样在两种情况下:

cow%5B%5D=oh&cow%5B%5D=hello&cow%5B%5D=there 

这是PROBA bly一个非常简单的配置问题。任何帮助表示赞赏!

回答

3

根据您的评论“HTTP请求的正文...”您可能会误解JSON选项的作用。它指定了请求期望从服务器返回的数据类型 - 它与数据发送到服务器的格式没有任何关系。

的HTTP请求的主体将是在所有情况下是相同的,除非你创建一个JSON字符串,并把它作为一个值。

1

发送到服务器的数据(HTTP请求主体)没有任何问题。

dataType参数是什么类型的返回值从服务器应该的。 'json'意味着jQuery会自动将响应解析为JSON。

检查您的服务器的响应,它可能不是有效的JSON。

+1

非常好,谢谢。当它说“从服务器期望的数据类型”时,我误解了文档。我现在通过JSON.stringify(数据),它工作正常。 – cansado 2011-03-01 17:16:57

相关问题