javascript - AJAX 响应从 JSON 文件返回未定义

标签 javascript jquery ajax

我是 ajax 和 jquery 新手,所以要温柔。我正在做一个简单的练习,发现了一些奇怪的行为。当我尝试在控制台中显示响应时,我得到一个未定义的消息。我在这里缺少什么吗?我认为 $.ajax 方法非常简单。另外,我已确保 JSON 有效。

顺便说一句,如果有人有任何推荐资源来了解有关 JQuery 框架的 AJAX 的更多信息,请分享。

JSON:

"employees": [
    {
        "firstName": "John",
        "lastName": "Doe"
    },
    {
        "firstName": "Anna",
        "lastName": "Smith"
    },
    {
        "firstName": "Peter",
        "lastName": "Jones"
    }
]

脚本:

$.ajax({
    type: 'GET',
    dataType: 'json',
    url: 'https://api.myjson.com/bins/1f6b6',
    success: function(employees){
        $.each(employees, function(i, employee){
            console.log(employee.firstName);
        });
    }
});

最佳答案

您需要使用employees.employees而不是employees

That you need iterate over the array with property name employees so you need to access it by either using employees.employees or employees['employees']

$.ajax({
    type: 'GET',
    dataType: 'json',
    url: 'https://api.myjson.com/bins/1f6b6',
    success: function(employees){
        $.each(employees.employees, function(i, employee){
        //----------------^-------------
        console.log(employee.firstName);
        });
    }
});

例如检查以下代码片段

var employees = {
  "employees": [{
    "firstName": "John",
    "lastName": "Doe"
  }, {
    "firstName": "Anna",
    "lastName": "Smith"
  }, {
    "firstName": "Peter",
    "lastName": "Jones"
  }]
};

$.each(employees.employees, function(i, employee) {
  //----------------^-------------
  console.log(employee.firstName);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

关于javascript - AJAX 响应从 JSON 文件返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31708415/

相关文章:

jquery - 更好的写法?

javascript - 如何使用ajax调用+ javascript将数据从数据库导出到excel

javascript - 如何从 Node 后端的 $http.post/angular 检索 post 变量?

javascript - 格式化文本框中的文本

javascript - 我怎样才能清除变量?

javascript - 根据复选框的值选中和取消选中

php - 我在 php 上使用 ajax 发送的值时总是出现错误

javascript - JS 显示和隐藏表单

javascript - jQuery ajax 表单提交到 php 无法处理服务器的响应

javascript - 让我们通过ajax请求进行聊天验证