Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示AJAX调用视图中的数据(ASP.NET MVC)_Javascript_Jquery_Asp.net_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript 显示AJAX调用视图中的数据(ASP.NET MVC)

Javascript 显示AJAX调用视图中的数据(ASP.NET MVC),javascript,jquery,asp.net,ajax,asp.net-mvc,Javascript,Jquery,Asp.net,Ajax,Asp.net Mvc,我对后端进行了AJAX调用以获取数据 这是后端代码 [HttpGet] public ActionResult EmailsList() { var itemsEmail = db.InvitationMails .Select(x=> new { Email = x.To.ToString(), Name = x.Name.ToString(),

我对后端进行了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);
        }
    });
}

$(“#保存任务”)。单击(函数(){
电子邮件_update();
});
函数email_update(){
$.ajax({
url:'@url.Action(“EmailsList”,“Questions”),
contentType:'application/json;charset=utf-8',
键入:“GET”,
数据类型:“json”,
processData:false,
成功:功能(结果){
控制台日志(结果);
console.log(result.EmailsList);
}
});
}

它工作得很好

但是如果我写这一行
console.log(result.EmailsList)如下
console.log(result.EmailsList.Email)

我会得到这个错误

ncaught TypeError:无法读取未定义的属性“Email”


如何获取一个参数?

因为EmailsList是一个列表,您需要这样循环:

for (var i = 0; i < result.EmailsList.length; i++) {
            //to get email use this
            result.EmailsList[i].Email;
        }

您的
结果
变量已在列表中。。所以你只需要使用
result[0]。Email

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[0].Email);
            console.log(result[0].Name);
        }
    });
}

请将您的代码更改为此。您不能直接访问列表的属性,必须更改索引才能访问它

  console.log(result.EmailsList[0].Email);
试一试


您的
结果
是一个对象集合,其中集合中的每个项都包含属性
电子邮件
名称
-您需要循环遍历数组并获取每个项的属性(当值已经是
字符串时,您不需要使用
.ToString()
)。您还可以删除无意义的
contentType
processData
选项result is collection,您需要检查该集合以获取位置1处JSON中的数据
意外标记o
  console.log(result.EmailsList[0].Email);
$.each( result.EmailsList, function (item, i) {
    alert(item.Email);
})