2

IE9 で jQuery 経由で送信される HTTP POST リクエストに問題があります。ページがロードされてから 1 分遅れて、サーバーからエラーが表示されます (フォーム フィールドがないため)。少し調査した結果、IE はフォーム フィールドを送信するが、content-length が 0 であるため無視されることに気付きました。この問題は、HTTPS 経由でのみ発生し、リモート サイトを閲覧する場合にのみ発生します。ローカルホストでは、すべてがうまく機能します。

その問題に関するリンクはほとんど見つかりませんでしたが、それらは古く、IE6 を参照しています。

http://support.microsoft.com/default.aspx?kbid=831167 http://geekswithblogs.net/timh/archive/2006/01/26/67183.aspx

誰かが同様の問題を抱えていて、それを解決しましたか?

編集

私のポストコールでは、特別なことは何もありません:

var data = {
    selectedTemplates: id
};

$.post(settings.generateUrl, data).done(function() {
    // on request complete;
});
4

1 に答える 1

4

Fiddler または IE の F12 開発者ツールによって生成されたトラフィック キャプチャを共有できますか?

問題のサーバーは HTTP 認証方法 (具体的には NTLM またはネゴシエート) を使用していますか? その場合は、 http://blogs.msdn.com/b/ieinternals/archive/2010/11/22/internet-explorer-post-bodies-are-zero-bytes-in-length-when-authentication-challenges-を参照してください。予想される.aspx

そうでない場合、他のマシンでこの問題を再現しましたか? 古い IE ブラウザ拡張機能 (「Free Download Manager」など) がインストールされている場合、このシナリオで使用される URLMon インターフェイスが破損し、ゼロバイトの POST が発生する可能性があります (StackOverflow で報告されているいくつかの重複があります)。

POST 中に、POST データが送信される前にフォームが破棄される可能性のある操作 (ナビゲーションなど) を行っていますか?送信されます)。

于 2013-09-16T19:02:56.230 に答える