これについていくつかのスレッドがありましたが、すべての回答を試しました(ASP.NET MVC JsonResult return 500)
私のajaxリクエストは500内部エラーを取り返しています。私がデバッグすれば、私は自分の行動にも遭遇しません。ここで
は私のAJAX呼び出しです:$.ajax({
url: '@Url.Action("UpdateSortOrder", "FormItems")',
data: { itemToUpdateId: item.attr("id"), newParentItemId: parentItemId, newPreviousItemId: previousItemId },
type: 'POST',
success: function (data) {
console.log(data);
},
error: function (xhr, status, exception) {
console.log("Error: " + exception + ", Status: " + status);
}
});
そして、私のアクション:
HTTP/1.1:クロームコンソールを使用して
[HttpPost] public ActionResult UpdateSortOrder(Guid itemToUpdateId, Guid newParentItemId, Guid newPreviousItemId) { FormItem updatedItem = _formItemService.GetOne(x => x.Id == itemToUpdateId); return Json(updatedItem, JsonRequestBehavior.DenyGet); }
、これらは、返信からのレスポンスヘッダがあります500内部サーバー・エラー キャッシュ制御:専用 コンテンツ・タイプ:text/html; charset = utf-8 サーバー:Microsoft-IIS/7.5 X-AspNetMvc-Version:3.0 X-AspNet-Version:4.0.30319 X-Powered-By:ASP.NET 日付:Tue、2012年12月18日21 :53:41 GMT コンテンツの長さ:17041
サーバーログにはサブステータスコードは表示されません。私がここで間違っていることは何ですか?私はGETではなくPOSTを使いたいと思っています。
フォームデータとして示されている:
itemToUpdateId:18ac5399-342e-4a39-9da1-3281a89501df
newParentItemId:ヌル
newPreviousItemId:ヌル
正しい。私はこの質問のようにアプリケーション/ JSONと=伝統的な真のcontentTypeの設定しようとしました
同じエラー。
フィドラーを使用して生のPOSTを見て、ワイヤをどのように通過しているのか見てみましたか? –
ルートの設定方法を共有できますか? – kabaros
ルートは機能していますが、現在はエリアを追加してデフォルトルートルールを使用しています。ビューを返すようにアクションを変更してURLを入力すると機能し、ルートが正しく処理されています。 – SventoryMang