以下の Microsoft 標準に従って、変数をリクエストに追加しました。
私は ajax リクエストに取り組んでいましたが、いつものように、IE は扱いにくい標本です。AJAX リクエストを実行する代わりに、XDR を実行できることがわかりました。クロムの私のコードは機能するので、宛先サーバーが機能していることを知っており、リクエストが成功すると想定されることが行われます。以下は、XDR のコード セグメントです。
if ($.browser.msie && window.XDomainRequest) {
var xdr = new XDomainRequest();
//var webstring = location.protocol +"//"+ location.host +"/" + WEBSERVICE_URL + "/test";
//WEBSERVICE_URL = "webservices/FormDesigner.svc";
var webstring = WEBSERVICE_URL + "/test";
var openRetVal = xdr.open("GET", webstring); //added this var as it supposidly gets a return value from the function call.
xdr.onload = function () {
var JSON = $.parseJSON(xdr.responseText);
if (JSON == null || typeof (JSON) == 'undefined') {
JSON = $.parseJSON(data.firstChild.textContent);
}
//below is my onsuccess call which is called by both successes for IE and NON-IE processes allowing all stuff to be piped into 1 call.
ajax_success(JSON);
};
xdr.ontimeout = function () {
alert("XDR Error. Timeout");
}
xdr.onerror = function () {
alert("XDR Error. Unable to do a Cross Domain Server Request.");
};
var sentRetVal = xdr.send(); //added this var as the function is suppose to return success or error as per microsoft.
}
当然、私が目指しているものではないonerrorを常に返します。テスト目的で、今のところ同じドメイン内の何かにpingを送信しているため、他のものはありません。私が言ったように、それは今のところ他のブラウザで動作します...私が気付いていない不適切なフォーマットはありますか? このテスト リクエストではデータも送信されません。