ASP.NET MVC 4 アプリケーションがあります。このアプリケーションは、iFrame を介して別のサイト (別のドメイン) に埋め込まれます。
アプリケーションの一部には、州に基づいて都市のリストを取得する機能があります。これを行うためにjQuery Ajaxを使用しています。IEを除くすべてのブラウザが動作しています。
私のグーグル検索に基づいて、IEにXDomainRequestを使用する必要があることを知りました。コードは次のとおりです。
/* For dynamically getting list of cities by state */
$("#state").change(function() {
$(".city").empty();
if ($(this).val() != "") {
if ($.browser.msie && window.XDomainRequest) {
var data = "state=" + $(this).val();
var xdr = new window.XDomainRequest();
xdr.open("POST", "/Search/GetCities");
xdr.send(data);
xdr.onload = function() {
var json = $.parseJSON(xdr.responseText);
if (json == null || typeof(json) == 'undefined') {
json = $.parseJSON(data.firstChild.textContent);
}
processData(json);
};
xdr.send();
} else {
$.ajax({
type: "POST",
url: "/Search/GetCities",
data: {
state: $(this).val()
},
dataType: "json",
success: function(data) {
if (data == '') {
$("#state").change();
} else {
$(".city").css("display", "none");
var items = "<option value=\"\" selected>Please Select</option>";
$.each(data, function(i, item) {
items += "<option value='" + item.Value + "'>" + item.Text + "</option>";
});
$(".city").append(items);
$(".city").css("display", "");
$(".city").attr('disabled', false);
}
}
});
}
}
});
/* End dynamically getting list of cities by state */
これがキッカーです。FF、Chrome、および Safari では、認証 Cookie は Ajax 呼び出しで渡されますが、IE では渡されないため、IE は私が認証ユーザーではないと判断し、ログイン URL で応答します。
これを IE で動作させるには何が欠けていますか?
ありがとう!