使用JQuery Ajax Json Feed时出现无效的字符错误

时间:2018-05-14 20:40:37

标签: javascript jquery json ajax

我有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的输出在数据之前或之后没有空格或换行符。 我做错了什么?

1 个答案:

答案 0 :(得分:0)

dataType: "json",

ajax上的这个属性告诉jQuery响应将是json。它会在将其传递给成功之前自动解析它。在成功中执行解析是不必要的,因为它已经被解析。

您可以选择将其关闭并在成功方法中进行解析。但是,如果您的端点在响应上设置Content-Type: application/json,jQuery将尝试自动解析它,因此如果您知道响应应该是json,那么最好只使用dataType选项。 / p>