1

如何在 jsonp 请求中捕获 400 标头并处理错误回调?

或者这是一个错误?

这是一个例子:

http://jsfiddle.net/pLuPb/

既没有错误,也没有触发完成?如何捕捉错误?

我被诅咒了?上周我遇到了这种问题......:D

猜猜我得把这个报告给 jQuery 跟踪器。

谢谢 ;)

4

2 回答 2

5

jsopn 不是常规的 ajax 请求,它实际上在您的 DOM 中创建了一个脚本标记,这就是 jsonp 响应数据格式为abc_FunctionName(data)的原因,并且您可以直接将数据获取到该函数中。但是 jQuery 会自动为你做这件事,所以你永远不会遇到那个部分。

要处理 jsonp 错误,请使用此插件http://code.google.com/p/jquery-jsonp/

于 2011-06-18T13:01:05.950 回答
2

JSONP 不像常规的 AJAX 请求,它使用脚本标签来获取内容。话虽如此,jQuery 应该能够捕获像 400 这样的错误,但奇怪的是它没有。

您可能想在 ajax 配置对象中添加超时:http: //jsfiddle.net/pLuPb/18/

您也可以执行类似您自己的 JSONP 处理程序的操作:http: //jsfiddle.net/6j6uk/(不确定 X-Browser 支持)

于 2011-06-18T12:49:02.587 回答