1

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

4

1 に答える 1

1

IE で CORS を有効にするためのxdr.jsスクリプトがまだ含まれていたため、この問題が発生していたようです。

于 2013-10-08T10:40:52.587 に答える