之前的代码
$.ajax({
url: requestUrl+"/mkx/share/querypraise/"+key+"/"+userID+"/1",
type: "GET",
dataType:"jsonp",
jsonp:"callback",
success:function(data){
alert(data)
})
返回的数据是{"code":29} 但是报错 **Uncaught SyntaxError: Unexpected token :" **,success里面的alert也不会执行
需要在ajax加入一个 jsonpCallback:"success_jsonpCallback",修改后如下
$.ajax({
url: requestUrl+"/mkx/share/querypraise/"+key+"/"+userID+"/1",
type: "GET",
dataType:"jsonp",
jsonp:"callback",
这里加入 jsonpCallback
jsonpCallback:"success_jsonpCallback",
success:function(data){
alert(data)
})
此时发送出去的url 就是
http://asdad.com/mkx/v3/share/querypraise/BJNz2eqQvqIn/100001/1?callback=success_jsonpCallback&_=1476852971578
到此还没有改完,需要在后端修改 因为我们的后端使用 resultfull 所以对于callback不好接收
String result1="";
JSONObject result = new JSONObject();
//自定义callback和前端ajax的jsonpCallback值要对应
String callback="success_jsonpCallback";
//result里面为查询出来需要返回的json数据
result1=callback+"("+result+")";
return result1;
此时ajax返回的数据是success_jsonpCallback({"code":29})
前端就能拿到数据了,到此解决了ajax跨域的问题。