asp.net-mvc – Ajax Request返回HTTP错误500,使用MVC和$.ajax调用POST?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – Ajax Request返回HTTP错误500,使用MVC和$.ajax调用POST?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经看过关于这个的几个线程,我已经尝试了所有的答案(http://stackoverflow.com/questions/3113952/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 Internal Server Error
Cache-Control: private
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 3.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue,18 Dec 2012 21:53:41 GMT
Content-Length: 17041

服务器日志不显示代码。任何想法我在这里做错什么?我更喜欢使用POST而不是GET。

表单数据显示为:

itemToUpdateId:18ac5399-342e-4a39-9da1-3281a89501df

newParentItemId:null

newPrevIoUsItemId:null

哪个是对的。

我已经尝试将contentType设置为application / json和traditional = true,就像这个问题:Sending ajax post to mvc with “application/json; charset=utf-8” returns error 500 from vs web developer server

同样的错误

解决方法

那么我能够弄清楚问题是什么,我的AJAX语法甚至没有任何错误,甚至是动作。只是我的返回对象包含一个循环引用。通过点击网络标签下的POST请求,然后查看预览选项卡,我可以看到chrome控制台中的实际错误显示实际的错误信息。

猜你在找的asp.Net相关文章