【问题标题】:How to select a variable from JSONP statement [duplicate]如何从 JSONP 语句中选择一个变量 [重复]
【发布时间】:2015-01-11 22:52:28
【问题描述】:

我有以下使用 Wikipedia API 为 Bon Jovi 返回 jsonp 结果的 Ajax:

var wikiUrl = 'Bon_Jovi';

function getAbout(wikiUrl){
    $.ajax({
        url: 'http://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=' + wikiUrl,
        dataType: 'jsonp',
        success: function (data) {
            console.log(data);
        }
    });
}

数据响应如下:

>Object {warnings: Object, query: Object}
   >query: Object
      >normalized: Array[1]
      >pages: Object
         >63123: Object
            >extract: "<p><b>Bon Jovi</b> is an American rock band...</p>"

如何选择extract 并将其保存为字符串? var extractText = data.query.pages[0].extract 返回 query 作为未定义的错误。

【问题讨论】:

    标签: javascript ajax json jsonp


    【解决方案1】:

    pages 是一个对象,而不是一个数组。在这种情况下,数据位于63123 属性下。除非您事先知道此属性,否则您需要遍历这些属性。

    示例:

    var wikiUrl = 'Bon_Jovi';
    $.ajax({
        url: 'http://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&titles=' + wikiUrl,
        dataType: 'jsonp',
        success: function (data) {
          var pages = data.query.pages;
          for (var p in pages) {
            if(pages.hasOwnProperty(p)) {
              console.log(pages[p].extract);
            }
          }
        }
    });
    

    【讨论】:

      【解决方案2】:

      尝试:

      var extractText = data.query.pages[63123].extract

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-24
        • 1970-01-01
        • 2021-04-01
        • 2014-12-25
        • 2015-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多