-1

我得到这个 HTML 文件来向随机词 API (wordnik) 服务器发出 GET 请求。它返回如下内容:

[{"id":2998982,"word":"failproof"}]

我只想要该"word"部分,但不知道如何访问它。我以为会,data.word但它只是打印出来undefined的。

<!DOCTYPE html>

<html>
   <head>
     <title>Random Word Generator</title>
   </head>

   <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
   </script>

   <script>
     function generateRandomWord() {
        var randomWordURL = "http://api.wordnik.com:80/v4/words.json/randomWords?hasDictionaryDef=true&minCorpusCount=0&minLength=5&maxLength=15&limit=1&api_key=APIkey";

        $.ajax({
          type: "GET",
          url: randomWordURL,
          dataType: "jsonp",
          jsonpCallback: 'displayRandomWord'
        });
      }

     function displayRandomWord(data) {
       document.getElementById("randomword").innerHTML=data.word;
     }
   </script>

   <body onload="generateRandomWord()">
     <div id="randomword"></div>
   </body>
</html>

4

2 回答 2

3

似乎数据是一个数组,因此要访问它,您应该替换data.worddata[0].word

希望这可以帮助!

于 2017-10-21T20:00:35.000 回答
0

在您的 JSON 示例中,您有一个对象数组而不是一个对象。如果您的代码将始终在此数组中获取一个元素,并且您想要提取其word属性,则可以将其更改为:

 function displayRandomWord(data) {
   document.getElementById("randomword").innerHTML=data[0].word;
 }
于 2017-10-21T23:28:05.857 回答