MVC Ajax数组post方法不起作用

时间:2017-03-20 12:00:25

标签: jquery arrays ajax asp.net-mvc

我的问题是,当我用ajax发布数据时,代码低于

 $.ajax({
                        type: 'POST',
                        url: '@Url.Action("ChangeOrder", "Menu")',
                        data: JSON.stringify(array),
                        success: function (data, status, xhr) {

                            if (data.Status == 200) {
                                toastr.success('@Resources.Resource.Success_MenuOrderSave');

                            }
                            else {
                                toastr.error('@Resources.Resource.Error_Unexpected');
                                return;
                            }
                        },
                        dataType: "json",
                        contentType: "application/json; charset=utf-8",
                        beforeSend: function () {

                        },
                        complete: function () {

                        }
                    });

当发送包含227个项目的数组时发生错误,但是如果数组有10个项目则有效,是否有限制?

 var item = {
                            refMenu: data[i].id,
                            refParent: null,
                            refPortal: "@SessionRepository.GetPortalId()",
                            Order:i+1
                        }

项目数组在上面。 错误是500当数组很大时它充当get方法。但是当数组不大时它可以工作

错误是

  

异常详细信息:System.InvalidOperationException:JSON请求   太大了,无法反序列化。

提前致谢

2 个答案:

答案 0 :(得分:0)

为aspnet尝试更大的值:web.config中的MaxJsonDeserializerMembers:

<appSettings>
  <add key="aspnet:MaxJsonDeserializerMembers" value="150000" />
</appSettings>

答案 1 :(得分:-1)

在appSettings中为aspnet:MaxJsonDeserializerMembers设置更高的最大JSON值:

<appSettings>
  <add key="aspnet:MaxJsonDeserializerMembers" value="1000000" />
</appSettings>