Internet explorer IE中带xDomain请求的跨域jquery ajax请求不起作用
我使用以下代码在IE中使用xDomain请求生成跨域jquery ajax请求Internet explorer IE中带xDomain请求的跨域jquery ajax请求不起作用,internet-explorer,jquery,Internet Explorer,Jquery,我使用以下代码在IE中使用xDomain请求生成跨域jquery ajax请求 var xdr; var URL=parentDomain+"/chat/getmessagesservlet"; if (jQuery.browser.msie && window.XDomainRequest) { // Use Microsoft XDR var xdr = new XDomainRequest(); xdr.open("POST", URL
var xdr;
var URL=parentDomain+"/chat/getmessagesservlet";
if (jQuery.browser.msie && window.XDomainRequest) {
// Use Microsoft XDR
var xdr = new XDomainRequest();
xdr.open("POST", URL + '?to='+chatboxtitle+'&yourName='+myName+'&chatBoxIndex='+tabIncr);
xdr.onload = function () {
var dom = new ActiveXObject("Microsoft.XMLDOM");
dom.async = false;
JSON = $.parseJSON(xdr.responseText);
if (JSON == null || typeof (JSON) == 'undefined') {
JSON = $.parseJSON(data.firstChild.textContent);
}
processData(JSON); // internal function
};
xdr.onerror = function() {
_result = false;
};
xdr.send();
} else {
$.ajax({
type: 'POST',
url: URL,
processData: true,
data: {'to':chatboxtitle,'yourName':myName,'chatBoxIndex':tabIncr},
dataType: "json",
async: false,
success: function (data) {
processData(data);
}
});
}'
response.setHeader("Access-Control-Allow-Origin","*");
response.setHeader("Content-Type","text/plain");
response.setHeader("Access-Control-Allow-Methods"," GET, POST");
response.setHeader("Access-Control-Allow-Headers", "Content-Type");
另外,我在服务器端设置了头,如下所示:
response.setHeader("Access-Control-Allow-Origin","*");
response.setHeader("Content-Type","text/plain");
response.setHeader("Access-Control-Allow-Methods"," GET, POST");
response.setHeader("Access-Control-Allow-Headers", "Content-Type");
但在IE8和IE9中,它不起作用。ResponseText返回null或为空。
我已经看到了使用jQuery
response.setHeader("Access-Control-Allow-Origin","*");
response.setHeader("Content-Type","text/plain");
response.setHeader("Access-Control-Allow-Methods"," GET, POST");
response.setHeader("Access-Control-Allow-Headers", "Content-Type");
.ajaxTransport( dataType, handler(options, originalOptions, jqXHR)
或
response.setHeader("Access-Control-Allow-Origin","*");
response.setHeader("Content-Type","text/plain");
response.setHeader("Access-Control-Allow-Methods"," GET, POST");
response.setHeader("Access-Control-Allow-Headers", "Content-Type");
可以进行跨域请求,但我不知道如何在代码中使用它。
在选项和原始选项参数中要传递的值是什么?
请为我提供解决此问题的指导。这可能有助于:
response.setHeader("Access-Control-Allow-Origin","*");
response.setHeader("Content-Type","text/plain");
response.setHeader("Access-Control-Allow-Methods"," GET, POST");
response.setHeader("Access-Control-Allow-Headers", "Content-Type");
xdr.onprogress = function () { }; //Needed to save IE9 from melting.