使用JQuery 1.4.4版,当我调用.ajax或.post时,我无法获得正确的JSON输出:
$.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
这可能是一个非常简单的配置问题。任何帮助表示赞赏!
答案 0 :(得分:3)
根据您的评论“HTTP请求的正文...”,您可能会误解JSON选项的作用。它指定了请求从服务器返回的数据类型 - 它与数据发送到服务器的格式无关。
HTTP请求的主体在所有情况下都是相同的,除非您创建一个json字符串并将其作为值发送。
答案 1 :(得分:1)
发送到服务器的数据(HTTP请求正文)没有任何问题。
dataType
参数是服务器返回值的类型。 'json'表示jQuery会自动将响应解析为JSON。
检查服务器的响应,它可能不是有效的JSON。