我在后端控制器上有这个代码
[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上有undefined
。
我如何编辑代码才能正确显示?
答案 0 :(得分:2)
如果他/她得到同样的问题,我写这篇文章是为了帮助别人,
因为它是一个对象数组,所以你需要在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);
}
干杯:)