错误Jquery.$.get()请求

Error Jquery.$.get() request

本文关键字:请求 get Jquery 错误      更新时间:2023-09-26

当我访问此url时:http://jservice.io/api/random输出是这样的:

[{
    "id": 67917,
    "answerswer": "agua",
    "question": "After some fierce flamencoing, you might hear cries of this, Spanish for '"water'"",
    "value": 800,
    "airdate": "2004-11-18T12:00:00.000Z",
    "created_at": "2014-02-11T23:29:50.743Z",
    "updated_at": "2014-02-11T23:29:50.743Z",
    "category_id": 1145,
    "game_id": null,
    "invalid_count": null,
    "category": {
        "id": 1145,
        "title": "foreign words 'u0026 phrases",
        "created_at": "2014-02-11T22:52:16.443Z",
        "updated_at": "2014-02-11T22:52:16.443Z",
        "clues_count": 115
    }
}]

我正在尝试使用$.get()来获取请求的数据:

<html>
<head>
    <title>Quiz</title>
    <meta charset="utf-8">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</head>
<body>
</body>
<script>
    $.get("http://jservice.io/api/random", function(data, status){
        alert("Data: " + data.title + "'nStatus: " + status);
    });
</script>
</html>

但结果是:

Data: undefined
Status: success

没有data.title

  1. data是一个数组
  2. CCD_ 4嵌套在数组元素的CCD_

对于特定的响应,您需要(大致):

data[0].category.title

但是,如果你能得到多个结果,你需要决定你实际要做什么。

返回的是一个数组。所以你必须使用data[0]。此外,title位于category对象内部。试试这个。

    $.get("http://jservice.io/api/random", function(data, status){
        alert("Data: " + data[0].category.title + "'nStatus: " + status);
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

结果也可以通过访问作为json对象的url来实现。分享以下代码以供参考。

<html>
<head>
    <title>Quiz</title>
    <meta charset="utf-8">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</head>
<body>
</body>
<script>
(function() {
  var srcURL = "http://jservice.io/api/random";
  $.getJSON( srcURL, {    
    format: "json"
  })
  .done(function( data ) {
    $.each( data, function( i, item ) {             
      console.log(item.category.title);
    });
  });
})();
</script>
</html>