我有AJAX调用后端获取数据显示数据
这里是后端代码
[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) {
console.log(result);
console.log(result.EmailsList);
}
});
}
它运作良好。
但如果我写此行console.log(result.EmailsList);
这样console.log(result.EmailsList.Email);
我会得到这个错误
ncaught TypeError: Cannot read property 'Email' of undefined
我怎样才能得到一个参数?
你'result'是对象的集合,集合中的每个项目包含属性'Email'和'Name' - 你需要通过数组循环和获取属性(当你的值已经是字符串时,你不需要使用'.ToString()')。您也可以删除无意义的contentType和processData选项 –
结果是集合,您需要检查该集合以获取数据 –