jQuery ajax跨域问题

遇到如下情况 使用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).")";

此外 希望有前端大神能给予解答.

阅读 5.4k
1 个回答

error handler是Ajax Event。

This handler is not called for cross-domain script and cross-domain JSONP requests.

建议题主使用jsonp,jsonpCallback参数。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题