JSONP 跨域请求

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.属性名==值){ 
        // 执行代码 
    } 
});




你可能感兴趣的:(JSONP 跨域请求)