jsonp中的data [] - 这是什么意思?

时间:2016-04-12 13:59:42

标签: javascript jquery api jsonp wikipedia-api

我正在向维基百科发送API请求,一切似乎都有效,但我无法弄清楚几行代码的含义,正是

var articleTitles = data[1];
var articleUrls = data[3];

我不知道索引数据[1]和数据[3]是什么意思,我怎么自己弄清楚它们。这是来自Udacity教程,但这没有详细说明,我只知道它与响应有关...

var wikiUrl = 'https://en.wikipedia.org/w/api.php?action=opensearch&search=' + cityStr + '&format=json';

    var wikiRequestTimeout = setTimeout(function () {
        $wikiElem.text("Failed to get Wikipedia resources");
    }, 5000);

    $.ajax({
        url: wikiUrl,
        dataType: 'jsonp'
    }).success(function(data) {
        var articleTitles = data[1];
        var articleUrls = data[3];

        $.each(articleTitles, function(i, title) {
            $wikiElem.append('<li><a href="' + articleUrls[i] + '">' + title + '</a></li>');
        });
    /*  .error is not built into jsonp
*/
        clearTimeout(wikiRequestTimeout); // clear timeout will stop timeout from happening
    });

return false;

1 个答案:

答案 0 :(得分:0)

data是一个可以将其视为数组(如)结构的对象。它包含其中的其他数组/对象,并回答问题data[0]是第一个子数组,data[3]是第4个(它是基于0的表示法)。 你可以看一下 - http://www.w3schools.com/json/json_syntax.asp