jquery ajax 跨域问题,jsonp的解决方法

在使用ajax时,出现跨域问题

  • 问题code
$.ajax({
           url: "http://10.10.10.10:8080/test,
           type: 'get',
           dataType: 'json',
           success: function (data) {
               console.log(data);
           },
          error:function(error){
               console.log(error);
          }
});
//这里会报错,出现跨域问题
  • 修改以后
$.ajax({
           url: "http://10.10.10.10:8080/test,
           type: 'get',
           dataType: 'jsonp',
           jsonp: "callback",
           jsonpCallback:"jsonpCallback",
           success: function (data) {
               console.log(data);
           },
          error:function(error){
               console.log(error);
          }
});
function jsonpCallback(data){
          console.log(data);
  }
//这里jsonpCallback(可以自定义,但是得和服务器返回的名称保持一致)。
//是请求的数据后,返回回来的json串中回调函数的名称。
//所以你只需在定义一个名为jsonpCallback 的function,请求成功后会调用这个函数。
  • 注意
    后台返回的数据,必须要用回调函数包起来。比如如果你本来返回的数据为:[{name:"zhangsan",age:18}]
    使用jsonp请求后,就应该返回:
    jsonpCallback([{name:"zhangsan",age:18}])(这点很重要)。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容