【求助】使用ajaxSubmit请求第三方接口,跨域问题

如题,这两天在做支付,通过ajaxSubmit请求第三方接口,浏览器报跨域问题,如下图:

image.png

通过控制台可以看到是成功请求并返回了数据的,但我无法获取它返回的数据,没有进回调函数,如下图:

image.png

请问是怎么回事呢以及应该如何解决该问题呢?我现在头好大...@JFinal 求助~

评论区

JFinal

2017-12-20 17:29

跨域问题是纯前端问题了,在网上搜一搜解决方案,有很多种,我在此就不再重复了

arboret

2017-12-20 17:45

@JFinal 尝试了很多都不对,
$("#submit").ajaxSubmit({
url: action + para,
type: "POST",
headers:{
"Access-Control-Allow-Origin":"*",
"Access-Control-Allow-Headers": "x-requested-with"
},
success: function(data){
alert(data.QrCode);
console.log(data.QrCode);
}
});这样设置有什么问题吗?

杜福忠

2017-12-21 09:26

方法一
拦截器
inv.getController().getResponse().addHeader("Access-Control-Allow-Origin", "*");//指定域名


--------------------------------------------------------------------------------
方法二

1, JFinal的Controller返回的时候如下:
这里的content就是我的Json字符串
renderJson("innerSignCallBack(" + content + ")");//跨域的请求,jsonp

2, 页面的Ajax如下:
var url = 'http://xxx.com/getJson';
$.ajax({
type : "get", //必须get,不填也行
url : url,
dataType : "jsonp",
jsonp:'innerSignCallBack', //服务器端获取回调函数名的key
jsonpCallback:'innerSignCallBack', //回调函数名
success:function(data) { //成功
alert('成功')
},
error : function(msg) {//失败
alert('失败');
}
});

3, 测试, 打完收工

热门反馈

扫码入社