問題があります... jQuery ajax を使用して、XML を返す Web サービスを呼び出しています。jQuery ajax は、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();
}
この正確なコードは、別の URL を使用してアプリケーション内の他の場所で正常に機能します。
URL は問題ありません。ブラウザに表示されるはずのものを正確に返します (したがって、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 に変換する時間がありません。
何かご意見は?
ありがとう!