无法使用Ajax发送更大的json(array)数据

时间:2018-09-25 05:20:15

标签: javascript json ajax

在mvc中通过ajax发送大数据时遇到了一个特殊的问题。当我发送大约500个数据时,它的工作正常,但是当它显示错误时,

未捕获的TypeError:无法读取未定义的属性'length'

我不明白为什么会这样 我的代码是

//Reading data from table 
  var imeiUpload = [];

 $('#tblDatas tbody').find("tr").each(function(row, tr) {

        imeiUpload.push({
            Model: $(tr).find('td:eq(0)').text(),
            Color: $(tr).find('td:eq(1)').text(),
            Barcode: $(tr).find('td:eq(2)').text(),
            Barcode2: $(tr).find('td:eq(3)').text(),
            UpdatedBy: $(tr).find('td:eq(4)').text(),
        });
    });
    //then ajax code

 $.ajax({
        url: ' @Url.Action("InsertImeidata", "Admin")',
        type: 'Post',
        data: JSON.stringify({ imeiModelUpload: imeiUpload }),
        dataType: 'json',
        async: false,
        contentType: 'application/json',
        success: function (data) {


        },
        error: function (result, textStatus, jqXHR) {

            //return false;
        }
    });

感谢帮助

1 个答案:

答案 0 :(得分:0)

最后我发现我的ajax或json代码没有问题,一切都很好,问题是我正在发送的json数据的大小.Asp.net应用程序中有一个默认大小用于发送json数据

所以我发现我必须增加应用程序中json数据的默认大小,因此我添加了以下几行

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

然后开始工作,现在我可以发送大量的json数组了。