Javascript AJAX未使用成功处理程序函数
您好,我的AJAX返回JSON对象时遇到了一个问题,因为它似乎没有使用成功处理程序函数,而是直接进入错误处理程序 我不明白的是,同一个AJAX脚本将成功返回另一个API的JSON对象 我使用的代码是 我已经尝试了许多类似问题的人所建议的上述方法的不同变体,例如Javascript AJAX未使用成功处理程序函数,javascript,ajax,json,jquery,Javascript,Ajax,Json,Jquery,您好,我的AJAX返回JSON对象时遇到了一个问题,因为它似乎没有使用成功处理程序函数,而是直接进入错误处理程序 我不明白的是,同一个AJAX脚本将成功返回另一个API的JSON对象 我使用的代码是 我已经尝试了许多类似问题的人所建议的上述方法的不同变体,例如jsonp:“$callback”,?callback=?,&callback=?,但似乎都不起作用 错误函数在Chrome控制台中产生以下结果 {"readyState":4,"status":200,"statusText":"succ
jsonp:“$callback”
,?callback=?
,&callback=?
,但似乎都不起作用
错误函数在Chrome控制台中产生以下结果
{"readyState":4,"status":200,"statusText":"success"}
据我所知,这意味着它已经起作用了。。。我甚至可以看到JSON对象在Fiddler中返回,但它不会触发成功处理程序
我已经在Jsonlint中测试了实际的链接,并验证了它确实是一个JSON对象
有人有什么想法吗
[经营合同]
[System.ServiceModel.Web.WebGet(UriTemplate=“GetCustomerByd?customerId={customerId}”,
[respnesformat=WebMessageFormat.Json]
客户getCustomerByd(Guid customerId)
这当然是一个奇怪的错误。我猜ajax处理程序需要不同的响应类型,当它收到“错误”类型时,会抛出一个错误
所以我猜问题在于在服务器和回调中使用JSONP。你确定服务器能够响应JSONP请求吗?JSONP和JSON不一样。JSONP是用
(…)
包装的JSON。无论如何,不要使用文档。永远不要写。通过$追加内容。追加到[或者更好地使用模板,但这是更进一步的].Ah.。服务器不知道这是一个JSONP请求。它只是一个HTTP请求,它会响应它,发送JSON数据。但是您的代码需要JSONP数据,当响应没有解析为JSONP时,它会将其报告为错误。
http://test.net.au/Services/ClientApi.svc/listEventsByCustomer?customerId=" + customerID + "&format=json&jsoncallback=?"
{"readyState":4,"status":200,"statusText":"success"}