作者:瀑布下的鱼 | 来源:互联网 | 2017-05-14 02:20
遇到如下情况使用jQueryjsonp跨域成功后为什么会执行error方法具体代码如下:HTML部分{代码...}PHP文件(test.php){代码...}此外希望有前端大神能给予解答.
遇到如下情况 使用jQuery jsonp 跨域成功后为什么会执行 error 方法 具体代码如下:
HTML部分
$.ajax({
type:'get',
dataType:'jsonp',
url:"http://XXXX.com/test.php?jsOncallback=success_jsonpCallback", //调用自定义函数
success:function(msg){
alert(msg);
},
error:function(msg){
alert(123);
alert(msg);
}
});
function success_jsonpCallback (result) {
alert(result.img_url);
}
PHP文件(test.php)
$data['status'] = "1";
$data['img_url'] = "http://www.baidu.com/img/baidu_jgylogo3.gif";
$jsOncallback= $_GET['jsoncallback'];
//var_dump($_GET['jsoncallback']);
echo $jsoncallback."(".json_encode($data).")";
此外 希望有前端大神能给予解答.
回复内容:
遇到如下情况 使用jQuery jsonp 跨域成功后为什么会执行 error 方法 具体代码如下:
HTML部分
$.ajax({
type:'get',
dataType:'jsonp',
url:"http://XXXX.com/test.php?jsOncallback=success_jsonpCallback", //调用自定义函数
success:function(msg){
alert(msg);
},
error:function(msg){
alert(123);
alert(msg);
}
});
function success_jsonpCallback (result) {
alert(result.img_url);
}
PHP文件(test.php)
$data['status'] = "1";
$data['img_url'] = "http://www.baidu.com/img/baidu_jgylogo3.gif";
$jsOncallback= $_GET['jsoncallback'];
//var_dump($_GET['jsoncallback']);
echo $jsoncallback."(".json_encode($data).")";
此外 希望有前端大神能给予解答.
error handler是Ajax Event。
This handler is not called for cross-domain script and cross-domain JSONP requests.
建议题主使用jsonp,jsonpCallback参数。