【发布时间】:2018-07-06 13:21:41
【问题描述】:
我想显示我的数据和其中的行数。 我正在返回 json,那里有一些错误
public JsonResult NewData()
{
List<mydatasample> mydata = new List<mydatasample>();
mydata.Add(new mydatasample { bookName = " Book 1 ", publisherName = " Name1 ", publishYear = 2018 });
mydata.Add(new mydatasample { bookName = " Book 2 ", publisherName = " Name2 ", publishYear = 2018 });
mydata.Add(new mydatasample { bookName = " Book 3 ", publisherName = " Name3 ", publishYear = 2018 });
mydata.Add(new mydatasample { bookName = " Book 4 ", publisherName = " Name4 ", publishYear = 2018 });
mydata.Add(new mydatasample { bookName = " Book 5 ", publisherName = " Name5 ", publishYear = 2018 });
mydata.Add(new mydatasample { bookName = " Book 6 ", publisherName = " Name6 ", publishYear = 2018 });
mydata.Add(new mydatasample { bookName = " Book 7 ", publisherName = " Name7 ", publishYear = 2018 });
mydata.Add(new mydatasample { bookName = " Book 8 ", publisherName = " Name8 ", publishYear = 2018 });
mydata.Add(new mydatasample { bookName = " Book 9 ", publisherName = " Name9 ", publishYear = 2018 });
mydata.Add(new mydatasample { bookName = " Book 10 ", publisherName = " Name10 ", publishYear = 2018 });
int rowcount= mydata.Count;
return Json(new { mydata = mydata,rowcount = rowcount}, JsonRequestBehavior.AllowGet);
}
这是我的 ajax 代码。
出现无法读取的错误
e[j].bookName, e[j].publisherName, e[j].publishYear
具体来说我的错误是
SomeActionMethod:59 Uncaught TypeError: 无法读取属性 未定义的“书名” 在 Object.success (SomeActionMethod:59) 着火(jquery-1.10.2.js:3062) 在 Object.fireWith [as resolveWith] (jquery-1.10.2.js:3174) 完成后(jquery-1.10.2.js:8249) 在 XMLHttpRequest.callback (jquery-1.10.2.js:8792)
$.ajax(
{
cache: false,
type: "GET",
url: hosturl,
success: function (e)
{
var var1 = "<table>";
var1 += "<tr> <th> Book Name </th> <th> Publisher Name </th> <th> Publish Year </th> </tr>";
for (var j = 0; j < 10; j++)
{
//error is coming in this line
var1 += "<tr>" + "<td>" + e[j].bookName + "</td>" + "<td>" + e[j].publisherName + "</td>" + "<td>" + e[j].publishYear + "</td>" + "</tr>";
}
var1 += "</table>";
$("#t1").append(var1);
var rowCount = $("#t1").find.length;
for(var j = 1; j<e.rowcount; j++)
{
var rowCount = $("#t1").find.length;
rowCount++;
}
var1 += "</table>";
$("#t1").append(rowCount);
},
【问题讨论】:
-
尝试使用 e.mydata[j].bookName
-
如果您将
console.log(e);添加到成功处理程序的顶部,然后查看控制台,您可能会更清楚为什么它不起作用。