Windows 7 64 ビットで jQuery 1.9.1 と Internet Explorer バージョン 10.0.9200.16686、アップデート バージョン 10.0.9 (KB2870699) を使用しています。
$.ajax を POST に使用すると、Content-Type ヘッダーが送信されません。Chrome やその他のブラウザでは正常に動作し、以前は IE10 で正常に動作していたと思われるため、IE10 への更新によって問題が発生したと思われます。
XMLHttpRequest を手動で作成してリクエストを送信することもできるので、本当の問題は jQuery のバグに違いないと思いますか? 1.10.2 にアップグレードしようとしましたが、同じ問題が発生します。
次を使用して contentType を設定しています$.ajaxSetup
。
$.ajaxSetup({
contentType: 'application/json; charset=utf-8',
context: document.body,
dataType: 'json',
accepts: 'application/json',
processdata: true,
cache: false,
crossDomain: true,
xhrFields: { withCredentials: true }
});
$.ajax
また、オプションの一部として明示的に設定しようとしました。
var options = {
url: basePath + 'login',
type: 'POST',
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify({
UserName: username,
Password: password,
RememberMe: rememberMe || false
})
};
return $.ajax(options).then(...);
それを修正する方法についてのアイデアをいただければ幸いです。
注: 最初は CORS を使用していたため、xhrFields
とのcrossDomain
設定が必要ですが、IE8 と IE9 と の問題により、現在はすべてを同じドメインでホストしていますXDomainRequest
。