我正在请求带有ajax的URL,导致HTTP头代码500.我希望这会触发错误函数:
$.ajax({ url: "http://xxx",dataType: "jsonp",crossDomain: true,success: function( data ) { alert('success'); },error: function () { alert('error'); } });
这适用于safari,但在chrome和firefox中失败.
我究竟做错了什么?
这是最新的jquery 1.4.X,因为我无法升级到更高版本..
响应发送HTTP代码500,内容类型application / json和内容:
jsonp1310063232212({“error”:{“reason”:“User not found”}})
解决方法
看起来像crossDomain:直到jQuery 1.5才添加.
http://api.jquery.com/jQuery.ajax/
crossDomain(added 1.5)
Default: false
for same-domain requests,true for
cross-domain requests.If you wish to
force a crossDomain request (such as
JSONP) on the same domain,set the
value of crossDomain to true. This
allows,for example,server-side
redirection to another domain
就像Martin Larente在他的评论中所建议的那样,这可能是不同浏览器或jQuery如何检测/报告JSONP错误的问题.