数组中的对象是未定义的

时间:2017-05-18 17:42:41

标签: javascript ajax .post

为什么数组未定义

我的问题是如何在结果数组中显示对象。我已经尝试过console.log(data.results [0] .bodyColor),我收到了一个错误。当我尝试(data.results)时,我得到了未定义。当我尝试(data.results [0])时,它给出响应错误消息。当我在控制台上看到它时,为什么数组未定义。 [这是控制台,所以如何打印出AirBagLocFront的价值] [1]



<!doctype html>
<html>

<head>
    <meta charset="UTF-8">
    <title>Untitled Document</title>
</head>

<body>
    <h2> Vehicle API</h2>
    <div id="div"></div>
    <script src="https://code.jquery.com/jquery-3.2.1.js" integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=" crossorigin="anonymous"></script>
    <!--Jquery CDN-->
    <script>
        $.ajax({
            url: "https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVINValuesBatch/",
            type: "POST",
            cache: true,

            data: {
                format: "json",
                data: "WBAPK5C52AA599960;"
            },
            dataType: "json",

            success: function(data) {

                console.log(data.results[0].AirBagLocFront);

            }
        });
    </script>
</body>

</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

您的代码中有拼写错误。您想要Results,而不是results。此外,Results是包含单个对象的数组。您可以使用for...in循环轻松遍历整个数据结构。这是一个工作片段:

$.ajax({
  url: "https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVINValuesBatch/",
  type: "POST",
  cache: true,
  data: {
    format: "json",
    data: "WBAPK5C52AA599960;"
  },
  dataType: "json",
  success: function(data) {
    var res = data.Results[0];
    for (var prop in res) {
      if (res.hasOwnProperty(prop)) {
        console.log(prop + ' - ' + (res[prop] ? res[prop] : 'N/A'));
      }
    }
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

答案 1 :(得分:0)

<!doctype html>
<html>

<head>
    <meta charset="UTF-8">
    <title>Untitled Document</title>
</head>

<body>
    <h2> Vehicle API</h2>
    <div id="div"></div>
    <script src="https://code.jquery.com/jquery-3.2.1.js" integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=" crossorigin="anonymous"></script>
    <!--Jquery CDN-->
    <script>
        $.ajax({
            url: "https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVINValuesBatch/",
            type: "POST",
            cache: true,

            data: {
                format: "json",
                data: "WBAPK5C52AA599960;"
            },
            dataType: "json",

            success: function(data) {

                console.log(data['Results'][0]['BodyClass']);

            }
        }):
    </script>
</body>

</html>

这适用于我用来访问嵌套对象的语法不正确。感谢大家。