AJAXを介してPOSTメソッドで呼び出されるアクションメソッドがあります。メソッドは次のようになります。
[HttpPost]
public ActionResult Save(MyModel model)
{
/// do something and save
return new HttpStatusCodeResult(HttpStatusCode.OK);
}
このメソッドが$.ajaxによって呼び出された後、不明な理由から、同じコントローラーと同じアクションに対してフォローアップGET要求が行われます。この呼び出しはどこでも行われず、おそらくブラウザーまたはASP.NETMVCのいずれかでPost/ Redirect/Getパターンとして実装されています。この場合は必要ありません。
Saveメソッドの対応するGETが実装されておらず、サーバーがHTMLコンテンツを含む404を返すため、これをプログラムで無効にする方法はありますか?
編集、これはクライアント側のAJAXスクリプトです:
function saveDonkey(donkey) {
var jsonData = JSON.stringify(donkey);
$.ajax({
url: "/Donkey/Save",
data: jsonData,
contentType: "application/json",
dataType: "json",
type: "POST",
success: function () {
fetchPage(); /// This just issues GET request to another predefined method
}
});
}