json ajax用200 OK调用返回成功,但是在无效字符时出错

时间:2017-12-01 17:25:49

标签: c# jquery ajax asp.net-mvc

我的项目是一个MVC Web应用程序我正在使用ajax调用将大量数据列为JSON。

这是代码(我不确定我遗漏了什么):

  $.ajax({
            url: url, //server
            type: "POST",
            async: true,
            data: { id: id },
            dataType: "json",
            success: function (data) {
                debugger;
                jQuery.each(data, function (i, val) {

//Success code


            },
            error: function (xhr, ajaxOptions, thrownError) {
                console.log(xhr.status);
                console.log(thrownError);
                window.baseShowModalOkCancel("<p>Backlog Data</p>", "<p>Error in Database</p>", "ERROR");
            }
        });
    }

Action Controller :(这是return语句中的post方法我可以看到带有数据的对象列表。

   [HttpPost]
    [OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
    public ActionResult GetBacklogWithData(string id)
    {
        using (var db = new LiensTrackerEntities())
        {

            List<BackLogDataList> backLogData = new List<BackLogDataList>();
            List<BackLogData> backLog;

               backLog = db.BackLogDatas.OrderBy(x =>x.CaseNumber).ToList();
                foreach (var item in backLog)
                {
                    BackLogDataList backLogDataList = new BackLogDataList
                    {
                        FileNo = item.FileNo,
                        BackLogId = item.BackLogID,
                        FirstName = item.FirstName,
                        LastName = item.LastName,
                        Middle = item.Middle,
                        Suffix = item.Suffix,
                        Address = item.Address,
                        Address2 = item.Address2,
                        City = item.City,
                        St = item.ST,
                        Zip = item.SP1ZIP,                           
                        AmaesRecordCreatedDate = item.AMAESRecordCreatedDate != null ? item.AMAESRecordCreatedDate.ToString().Split(' ')[0] : null,
                        AddedInRecipient = item.AddedInRecipient
                    };
                    backLogData.Add(backLogDataList);
                }

            }



            return Json(backLogData, JsonRequestBehavior.AllowGet);
        }
    }

它返回200 ok但是当我查看控制台时执行错误功能我发现了以下错误:

enter image description here

1 个答案:

答案 0 :(得分:0)

错误是由于最大json字符串长度造成的。解决方案是

MaxJsonLength exception in ASP.NET MVC during JavaScriptSerializer