Ajax請求成功但是一直進入error 之 序列化類型為“System.Reflection.RuntimeModule”的對象時檢測到循環引用。解決方案


前端代碼:

$.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的原因 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM