您的位置:首页 > Web前端 > JavaScript

JSONP跨域请求数据报错 “Unexpected token :”的解决办法

2017-09-15 15:34 507 查看
在使用ajax请求的时候,遇到跨域的问题,一般解决办法有三种:

1. 使用代理;

2. 使用jsonp

3. 资源共享

这里,我使用了jsonp,由于第一次使用,这里遇到报错 “Uncaught SyntaxError: Unexpected token :”,主要问题在于返回的数据格式不正确。

正确的ajax使用jsonp的方式:

var restUrl = 'http://localhost:8080/analysis';
var clipResult1 = '';
var clipResult2 = '';
$.ajax({
type: "POST",
url: restUrl,
dataType: 'jsonp',
jsonp: 'callback',
jsonpCallback: 'success_jsonpCallback',
data: {
result1:clipResult1,
result2:clipResult2,
f: 'pjson'

},
success: function (success) {
var datas = JSON.stringify(success);
for(d in success){
var b = success[d];
var c = b;
}
},
error:function(){

}
});

但是一直不知道java后端怎么返回,最后终于明白。

System.out.println("jsonStr" + jsonStr);
return  "success_jsonpCallback(" + jsonStr+ ");" ;


这里只要是要对回调函数理解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: