私はこれについていくつかのスレッドを見てきました、そして私はすべての答えを試しました(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);
}
});
そして私の行動:
[HttpPost]
public ActionResult UpdateSortOrder(Guid itemToUpdateId, Guid newParentItemId, Guid newPreviousItemId)
{
FormItem updatedItem = _formItemService.GetOne(x => x.Id == itemToUpdateId);
return Json(updatedItem, JsonRequestBehavior.DenyGet);
}
Chromeコンソールを使用すると、これらは応答からの応答ヘッダーです。
HTTP / 1.1 500内部サーバーエラーCache-Control:private Content-Type:text / html; charset = utf-8サーバー:Microsoft-IIS / 7.5 X-AspNetMvc-バージョン:3.0 X-AspNet-バージョン:4.0.30319 X-Powered-By:ASP.NET日付:2012年12月18日火曜日21:53:41 GMTコンテンツ-長さ:17041
サーバーログにはサブステータスコードは表示されません。私がここで間違っていることについて何か考えはありますか?GETの代わりにPOSTを使用することを好みます。
フォームデータは次のように表示されます:
itemToUpdateId:18ac5399-342e-4a39-9da1-3281a89501df
newParentItemId:null
newPreviousItemId:null
どちらが正しい。
この質問のように、contentTypeをapplication/jsonおよびtraditional=trueに設定してみました:「application / json; charset =utf-8」を指定してajaxpostをmvcに送信すると、vsWeb開発者サーバーからエラー500が返されます
同じエラー。