全部, 这可能是经常重复的问题..但我已经在这一天超过一天......到目前为止它令人失望和令人沮丧...... :(
function (url, requestData) {
var jqryXHR = $.ajax({
type: 'POST',
url: anotherDomainurl,
//contentType: 'application/json; charset=UTF-8',
data: {
requestParams: requestData
}
});
}
这在FF和Chrome中运行良好但在IE上没有。在IE中,调用本身没有被触发。我应该怎么做才能使它工作......并且要求是用POST进行调用。
我的服务器端代码是java,我正在设置
标题('Access-Control-Allow-Origin','*。anotherDomain.com');
此致
答案 0 :(得分:0)
使用jsonp。它提供了一种从不同域中的服务器请求数据的方法。
答案 1 :(得分:0)
最终能够解决问题......
对于IE,我们必须使用
跨域调用的跨域请求(XDR)...而不是XMLHttpRequest
参考:http://msdn.microsoft.com/en-us/library/dd573303%28v=vs.85%29.aspx
使用XDR时有一些限制,可以查看@
if (window.XDomainRequest) {
var xdr = new XDomainRequest();
xdr.open("POST", url);
xdr.onload = function () {};
xdr.onerror = function() {};
xdr.onprogress = function() {};
xdr.send("requestData="+jsonData);
} else{
jQuery.support.cors = true;
var jqXHR = $.ajax({
type : 'POST',
url : url,
crossDomain: true,
data : {
requestData : jsonData
}
});
}
同样在服务器端,响应应添加标头
访问控制允许来源, 访问控制允许的方法, 接入控制允许接头