AJAX响应从JSON文件返回Undefined

时间:2015-07-29 18:30:11

标签: javascript jquery ajax

我是ajax和jquery的新手,所以要温柔。我正在进行简单的练习并遇到一些奇怪的行为。当我尝试在控制台中显示响应时,我得到一个未定义的。我有什么东西在这里失踪。我认为$ .ajax方法非常简单。另外,我确保JSON有效。

另外,如果有人有任何推荐的资源来了解有关JQuery框架的更多关于AJAX的信息,请分享。

JSON:

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

SCRIPT:

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

1 个答案:

答案 0 :(得分:0)

您需要使用employees.employees代替employees

  

您需要使用属性名称employees迭代数组,因此您需要使用employees.employeesemployees['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>
&#13;
&#13;
&#13;

相关问题