首页 > Web开发 > 详细

Ajax请求成功但是一直进入error 之 序列化类型为“System.Reflection.RuntimeModule”的对象时检测到循环引用。解决方案

时间:2020-02-21 16:46:12      阅读:265      评论:0      收藏:0      [点我收藏+]

前端代码:

$.ajax({
     url: $("#dataMain").attr("data-url"),
     type: "GET",
     dataType: "json",
     timeout: 3000,
     data: data,
     success: function (res) {
          console.log(res);
      },
      error: function (res) {
           console.log(res);
      }
});

后端代码:

 [HttpGet]
 public JsonResult Test1() 
 {
     var sql = string.Format(@"SELECT * FROM RELEASE ");
DataTable dataTable
= GlobalContext.Resolve<ISource_Web_SQLHelper>().GetDataSet(sql, "你的数据库链接串").Tables[0]
return Json(dataTable, JsonRequestBehavior.AllowGet); }

结果:总是跑到 Ajax的 error 方法中

error: function (res) {
    console.log(res);
}

技术分享图片

技术分享图片

解决方案一:后端代码将 dataTable 先经过下列操作再返回。

JsonSerializerSettings setting = new JsonSerializerSettings()
{
    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
};

var data = JsonConvert.SerializeObject(dataTable, setting);
return Json(data, JsonRequestBehavior.AllowGet);

解决方案二:后端代码将 dataTable 转化成 List 再返回 。

var data=dataTable.AsEnumerable().ToList();
return Json(data, JsonRequestBehavior.AllowGet);

Java: Ajax请求成功但是一直进入error的原因 

Ajax请求成功但是一直进入error 之 序列化类型为“System.Reflection.RuntimeModule”的对象时检测到循环引用。解决方案

原文:https://www.cnblogs.com/mww-NOTCOPY/p/12341768.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!