我有JavaScript函数来获取Json Feed。
function CustomerDetails(CustomerNumber)
{
$.ajax({
url: "GetCustomerDetails.php",
type: "GET",
data:{CustomerNumber:CustomerNumber},
async: true,
dataType: "json",
success: function(ReturnedData)
{
var JsonObj = $.parseJSON(ReturnedData);
for (var i in JsonObj)
{
alert(JsonObj[i].CustName);
}
}
})
}
GetCustomerDetails.php会输出一个如下所示的Json Feed:
[{"CustName":"BOB GREEN","CustNum":"1346859"}]
当我调用CustomerDetails函数时,我得到一个"无效字符"错误(m.parseJSON [Line:4,Col:15934],jquery-min.js) Json Feed的输出在数据之前或之后没有空格或换行符。 我做错了什么?
答案 0 :(得分:0)
dataType: "json",
ajax上的这个属性告诉jQuery响应将是json。它会在将其传递给成功之前自动解析它。在成功中执行解析是不必要的,因为它已经被解析。
您可以选择将其关闭并在成功方法中进行解析。但是,如果您的端点在响应上设置Content-Type: application/json
,jQuery将尝试自动解析它,因此如果您知道响应应该是json,那么最好只使用dataType选项。 / p>