JSONP 跨域请求

29 篇文章 0 订阅

JS跨域请求貌似只能用JSONP方式

用jquery+ajax使用JSONP方式跨域请求数据(这里需要后台配合返回)


 $.ajax({
  type : "GET",
  url : url,  //请求链接
  data : {loginName:"admin"} ,    
  dataType:'jsonp',   //jsonp跨域请求
  jsonp: 'callback',
  jsonpCallback:'jsonpCallback',    //这里为后台返回的动态函数,可自定义,与后台返回格式需要相符合
  error : function(response) {
   alert("请求失败");
  },
  success : function(response) {
   //var data =  eval("(" + response + ")");
   var data = response;
    alert(data);
  }
 }); 


后台返回格式如下

//返回的json数据必须包含在jsonpCallback()方法,改方法名与前端需相对应;必须有该方法,否则前端json格式则会解析错误

  String str = "jsonpCallback({'name':'123','age':'20'})";      //正确的jsonp返回格式
  PrintWriter out = response.getWriter();
  out.write(str);



也可以用$.getJSON()进行跨域请求(同样要注意jsonpCallback方法与后台对于

$.getJSON(url+"?参数"+"&jsoncallback=?", 
    function(json){ 
    if(json.属性名==值){ 
        // 执行代码 
    } 
});



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值