前端代碼:
$.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的原因