使用
$.ajax({
type : "get",
async:false,
url : reqUrl,
dataType : "jsonp",
jsonp: "callbackparam",
jsonpCallback:"success_jsonpCallback",
success: function(json){
console.log("success");
console.log(json);
},
error: function() {
alert("失败");
}
});
或者
$.getJSON(reqUrl,function(json){
console.log("success");
console.log(json);
});
即jsonp,进行跨域请求时,由于服务器返回的数据是callback{json数据}这种格式,即jsonp格式,浏览器会报 unexpected token 错误,解决方法如下:
(1)在服务器端多返回的数据进行处理,改成jsonp格式
(2)在reUrl中,添加参数callback=? 即 reqUrl=reqUrl+"&callback=?";
对于(1)服务器端绝大多数时候是无法控制的,所以更常见的方法是(2)。
对于(2)解释如下,引言,http://www.zhihu.com/question/24013110/answer/27693431: