1.使用jquery+jsonp跨域
第一种方法:
$.getJSON('http://www.a.com/user?id=123&callback=?', function(data){
//处理data数据
});
注意:参数callback只是参数名,服务器接口根据callback接收jquery随机生成的回调方法。
第二种方法
$.ajax({
type: 'GET',
url: 'http://127.0.0.1:8080/web/system/qrcode/getQrcodeId?dataType=jsonp&bizType=login',
dataType : "jsonp",//数据类型为jsonp
jsonp: "callback",
error: function(XmlHttpRequest,textStatus,errorThrown){
},
success: function(msg){
}
});
注意:jsonp:指定服务器端接收的回调函数名,callback的值由jquery随机生成
第三种方法
$.ajax({
type: 'GET',
url: 'http://127.0.0.1:8080/web/system/qrcode/getQrcodeId?dataType=jsonp&bizType=login&jsonpQrcode=?',
dataType : "jsonp",//数据类型为jsonp
jsonpCallback: "handelCallbackLogin",
error: function(XmlHttpRequest,textStatus,errorThrown){
},
success: function(msg){
}
});
注意: jsonpQrcode是服务器端接收回调函数的参数名
jsonpCallback:"handelCallbackLogin" 表示服务器接口接收到的jsonpQrcode="handelCallbackLogin",这个时候不再是jquery随机生成的回调函数名
服务器端代码:最主要的地方是:
(1)返回给前台的数据需要response输出
response.getWriter().out.println(jsonpCallback + "(" + JSON.toJSONString(jsonResponse) + ")");
jsonpCallback是服务器端接收回调函数的参数名
(2)回调函数名和 回调数据需要使用()
第一种方法:
$.getJSON('http://www.a.com/user?id=123&callback=?', function(data){
//处理data数据
});
注意:参数callback只是参数名,服务器接口根据callback接收jquery随机生成的回调方法。
第二种方法
$.ajax({
type: 'GET',
url: 'http://127.0.0.1:8080/web/system/qrcode/getQrcodeId?dataType=jsonp&bizType=login',
dataType : "jsonp",//数据类型为jsonp
jsonp: "callback",
error: function(XmlHttpRequest,textStatus,errorThrown){
},
success: function(msg){
}
});
注意:jsonp:指定服务器端接收的回调函数名,callback的值由jquery随机生成
第三种方法
$.ajax({
type: 'GET',
url: 'http://127.0.0.1:8080/web/system/qrcode/getQrcodeId?dataType=jsonp&bizType=login&jsonpQrcode=?',
dataType : "jsonp",//数据类型为jsonp
jsonpCallback: "handelCallbackLogin",
error: function(XmlHttpRequest,textStatus,errorThrown){
},
success: function(msg){
}
});
注意: jsonpQrcode是服务器端接收回调函数的参数名
jsonpCallback:"handelCallbackLogin" 表示服务器接口接收到的jsonpQrcode="handelCallbackLogin",这个时候不再是jquery随机生成的回调函数名
服务器端代码:最主要的地方是:
(1)返回给前台的数据需要response输出
response.getWriter().out.println(jsonpCallback + "(" + JSON.toJSONString(jsonResponse) + ")");
jsonpCallback是服务器端接收回调函数的参数名
(2)回调函数名和 回调数据需要使用()