问题描述
|
如何捕获400标头并处理jsonp请求上的错误回调?
还是一个错误?
这是一个例子:
http://jsfiddle.net/pLuPb/
既没有错误,也没有触发完成?如何捕捉错误?
我被诅咒了吗?上周我遇到了这类问题...:D
猜猜我将不得不向jQuery跟踪器报告这一情况。
谢谢 ;)
解决方法
jsopn不是常规的ajax请求,它实际上在ur DOM中创建一个脚本标签,这就是jsonp响应数据的格式为abc_FunctionName(data)的原因,并且您直接将数据获取到该函数中。但是jQuery会自动为您执行此操作,因此您永远不会遇到这一部分。
要处理jsonp错误,请使用此插件http://code.google.com/p/jquery-jsonp/
, JSONP与常规AJAX请求不同,它使用脚本标签来获取内容。话虽这么说,jQuery应该能够捕获到类似400的错误,但它没有。
您可能要在ajax配置对象中添加超时:http://jsfiddle.net/pLuPb/18/
您还可以执行类似自己的JSONP处理程序的操作:http://jsfiddle.net/6j6uk/(不确定X-Browser支持)