【发布时间】:2019-03-09 12:18:06
【问题描述】:
我目前正在使用 .NET Core 进行 AJAX。我正在尝试做非常基本的事情。填充项目列表,然后显示<li> 中的每个项目。问题是我发送的列表是来自我的数据库的类型。因此,如果您滚动到我的 javascript 代码,在执行后每个 <li> 项目都是“未定义”。我很确定会发生这种情况,因为我正在发送整个对象。
所以我需要在我的 $.each 中有另一个循环来选择 PersonId、PersonName、PersonAddress 并将它们显示在行中。
作为 javascript 和 Ajax 的新手,我真的很苦恼,找不到任何好的 asp.net 核心教程。
非常感谢您的建议
我的模型是:
public class Person
{
public int PersonId { get; set; }
public string PersonName { get; set; }
public string PersonAddress { get; set; }
}
我的索引方法:
public JsonResult OnGetList()
{
List<Models.Person> list = new List<Models.Person>();
foreach (var item in _context.Person.ToList())
{
list.Add(item);
}
return new JsonResult(list);
}
数据库中的数据如下所示:
PersonId PersonName PersonAddress
1 Martin New York
2 Sam New Jersey
3 Eli Ohio
我的看法:
<div id="dvItems" style="font-size:24px;">
</div>
嵌入在视图底部的Javascript:
<script>
$.ajax({
type: "GET",
url: "/Person?handler=List",
contentType: "application/json",
dataType: "json",
success: function (response) {
var dvItems= $("#dvItems");
dvItems.empty();
$.each(response, function (i, item) {
var $tr = $('<li>').append(item.PersonId + "with name " + item.PersonName + "living in" + item.PersonAddress).appendTo(dvItems);
});
},
failure: function (response) {
alert(response);
}
});
</script>
【问题讨论】:
-
你能发布从
OnGetList()返回的JSONresponse的结构吗? -
您可以使用浏览器中的开发者工具检查您的回复。使用 F12(Firefox、Chrome、Edge)打开它,然后转到“网络”选项卡,找到您的 XHR 请求并检查您的响应结构。
-
回复是
[{personId: 25, personName: "martin", personAddress: "strnadova"},…] 0: {personId: 25, personName: "martin", personAddress: "strnadova"} personAddress: "strnadova" personId: 25 personName: "martin" 1: {personId: 26, personName: "barbora", personAddress: "strnadova"} personAddress: "strnadova" personId: 26 personName: "barbora" 2: {personId: 27, personName: "vikca", personAddress: "strnadova"} personAddress: "strnadova" personId: 27 personName: "vikca" -
你被
<li>s包围了吗<ul>? -
@sabotero - 不,不是,但 html 部分正在工作我可以看到
<li>点在那里,它们只是空的
标签: c# jquery ajax asp.net-mvc asp.net-core