私たちは、MVC 3 Webサイトのいくつかのページでサーバーデータを要求するためにjQuery.ajax()メソッドを使用しています。これらのリクエストは常に 'POST' ajaxパラメータタイプでマークされ、通常はページの読み込み時やタイマーで呼び出されます。つまり、ユーザーアクション(マウスクリックなど)の結果ではありません。IEを使用したjQuery GETとPOST
我々は(ELMAH)エラーログを見てみると次のように我々はエントリ数を参照してください。
パブリックアクションメソッド「GetMessageStatsが」コントローラ「Inbox.WebUI.Areas.Applicationで見つかりませんでした。コントローラー.StatusController '。
コントローラの動作に[HttpPost]とマークされています。
[HttpPost]
public JsonResult GetMessageStats()
{
MessageStatsViewModel model = new MessageStatsViewModel
{
TotalNoMessages = MailDB.GetMessageCount(),
MessagesInQueue = MailDB.GetQueueLength()
};
return Json(model);
}
、ここで呼び出すクライアントスクリプトです:調査に
$(function() {
var $totalMessages = $("#total-messages"),
$queuedMessages = $("#queued-messages");
function getStats() {
$.ajax({
type: "POST",
url: "/Application/Status/GetMessageStats",
dataType: "json",
cache: false,
success: function (data) {
$totalMessages.text(data.TotalNoMessages);
$queuedMessages.text(data.MessagesInQueue);
setTimeout(function() {
getStats();
}, 15000);
},
error: function (xmlHttpRequest, errorMessage, exception) {
throw errorMessage;
}
});
}
getStats();
});
一部のブラウザ(IE7/IE8、多分他の人が)必要なPOSTに加えて、GET要求を発行するように見えることが表示されます要求。これらのブラウザの下でユーザーインターフェイスが正しく応答して動作するため、POST要求が処理されていることに注意してください。 ELMAHのようにユーザーエージェントを報告している
:
のMozilla/4.0(; MSIE 6.0; Windows互換NT 5.1)
誰がこの問題を見ていますか?もしそうなら、それを避ける方法を見つけましたか?
ありがとうございました。
クライアントコードを表示してください。これは、これが起こる場所です。 –
Diodeusとは何ですか?これは、おそらくクライアントコードの問題です。 – Etch
これらのGETリクエストの詳細については、サーバーのHTTPログを参照してください。彼らはPOSTの前または後に行われ、どのUserAgentが使用されていますか? – Stefan