4

Ajaxを使用して辞書RESTAPIにアクセスしています。

$.ajax({
  url: "http://api.wordnik.com//v4/word.json/cat/definitions?api_key=mykey&includeRelated=false&includeTags=false&limit=1",
  dataType : 'json',
  success: function(data) {
    //called when successful
    alert(data.word);
  },
  error: function(e) {
    //called when there is an error
    console.log(e.message);
  }
});

応答:

[
  {
    "textProns": [],
    "sourceDictionary": "ahd-legacy",
    "exampleUses": [],
    "relatedWords": [],
    "labels": [],
    "citations": [],
    "word": "cat",
    "text": "A small carnivorous mammal (Felis catus or F. domesticus) domesticated since early times as a catcher of rats and mice and as a pet and existing in several distinctive breeds and varieties.",
    "sequence": "0",
    "score": 0.0,
    "partOfSpeech": "noun",
    "attributionText": "from The American Heritage® Dictionary of the English Language, 4th Edition"
  }
]

私のテスト例では、undefined成功に関するアラートを受け取ります。私が見たほとんどのAjaxの例はループを使用していますが、1つの結果を返しています。オブジェクトからwordとの値を抽出するにはどうすればよいですか?text

4

3 に答える 3

7

ご覧のとおり、応答はで始まり、[で終わり]ます。したがって、応答は配列です。次に、配列内にオブジェクトを取得します(で始まり、{で終わる})。つまり、あなたdataは配列でありdata[x](xはインデックス)、選択したオブジェクトの各メンバーには.dot表記などでアクセスできます.word.textしたがって、結果が1つしかない場合は、次のことができます。しますdata[0].word

于 2012-07-22T03:59:36.887 に答える
6

応答は、配列内のオブジェクトです。試すdata[0].word

于 2012-07-22T03:55:19.070 に答える
3

このように成功関数を変更したい場合は、

success: function(data) {
  alert(data[0].word);
}

値が正しく来ることを確認しました。

jQuery AJAX

于 2012-07-22T04:07:52.843 に答える