jquery ajax方法jsonp的success方法是怎么调用的?

jsonp的原理是动态插入一个script标签,在服务端返回合法的jsonpCallback代码,自动执行jsonpCallback方法,那么ajax的success方法和error方法是如何被调用的?

$.ajax({
    type: "get",
    url: "xxx",
    dataType: "jsonp",
    jsonp: "callback",
    jsonpCallback:"jsonpCallback",
    success: function(json){
        alert('json:' + json);
    },
    error: function(){
        alert('fail');
    }
});
阅读 5.6k
2 个回答

jsonp的时候不会调用success方法,它在接收到服务端数据时,使用的是<script> 标签而不是 XMLHttpRequest 对象。这种情况下,$.ajax() 不再返回一个 XMLHttpRequest 对象,并且也不会处理beforeSend、success这些回调函数,我理解的就是它有他自己的callback回调函数

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