【发布时间】:2023-04-08 02:28:01
【问题描述】:
我有一个问题...我使用 jQuery ajax 调用返回 XML 的 Web 服务。 jQuery ajax 的东西对除了 ie 之外的所有浏览器都非常有用。
所以对于 ie 浏览器,我使用的是 XDomainRequest。代码如下:
if ($.browser.msie && window.XDomainRequest) {
// Use Microsoft XDR
var xdr = new XDomainRequest();
xdr.open("get", theUserUrl);
xdr.timeout = 95000;
xdr.onerror = function () {
console.log('we have an error!');
}
xdr.onprogress = function () {
console.log('this sucks!');
};
xdr.ontimeout = function () {
console.log('it timed out!');
};
xdr.onopen = function () {
console.log('we open the xdomainrequest');
};
xdr.onload = function () {
// XDomainRequest doesn't provide responseXml, so if you need it:
var xml2 = new ActiveXObject("Microsoft.XMLDOM");
xml2.async = false;
xml2.loadXML(xdr.responseText);
console.log('do we get any response text at all?: ' + xdr.responseText);
ParseOwnershipObjects(xml2);
//AddServiceRequestsToMap(xml2, map, spinner);
};
xdr.send();
}
-
这个确切的代码可以在应用程序的其他地方正常工作 不同的网址。
网址很好,它返回的正是浏览器中的内容 (以及为什么 jquery ajax 调用有效)。几件事 注意:
我正在将我自己的 html/javascript 与另一个人的 asp.net 集成 项目。
在global.asax.cs 文件中,我有:
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET,OPTIONS");
}
所以我认为这不是标题问题。
我的处理程序都没有触发。不是onprogress、ontimeout、onerror……什么都没有! 我没有时间将 Web 服务转换为 JSON。
有什么想法吗?
谢谢!
【问题讨论】:
标签: javascript asp.net internet-explorer xdomainrequest