我在后端 Controller 上有此代码
[HttpGet]
public ActionResult EmailsList()
{
var itemsEmail = db.InvitationMails
.Select(x=> new
{
Email = x.To.ToString(),
Name = x.Name.ToString(),
})
.ToList();
return Json(itemsEmail, JsonRequestBehavior.AllowGet);
}
这是AJAX调用代码
<script>
$('#save_quest').click(function () {
email_update();
});
function email_update() {
$.ajax({
url: '@Url.Action("EmailsList", "Questions")',
contentType: 'application/json; charset=utf-8',
type: 'GET',
dataType: 'json',
processData: false,
success: function (result) {
var email = result;
// console.log(result[0].Name);
for (var i = 0; i <= email.length - 1; i++){
var emailHTML = '<div style="margin-left: 25px; margin-top: 10px;>' + '<b style="margin-left: 10px;">' + result.Email + '<b>' + '<b style="margin-left: 20px;">' + result.Name + '</b>' + '</div>'
$(".email_list").append(emailHTML);
}
}
});
}
代码运行良好,但我在 View 上有未定义
。
我需要如何编辑代码才能正确显示?
最佳答案
我写这篇文章是为了帮助遇到同样问题的人,
因为它是一个对象数组,所以您需要在 for 循环中添加 [i] 和结果。
for (var i = 0; i <= email.length - 1; i++)
{
var emailHTML = '<div style="margin-left: 25px; margin-top: 10px;>' + '<b style="margin-left: 10px;">' + result[i].Email + '<b>' + '<b style="margin-left: 20px;">' + result[i].Name + '</b>' + '</div>'
$(".email_list").append(emailHTML);
}
干杯:)
关于jquery - 正确显示来自 AJAX (ASP.NET MVC) 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43368968/