0

这是“维基搜索”和回调“维基百科”的维基百科链接。

http://en.wikipedia.org/w/api.php?action=opensearch&search=wiki&callback=wikipedia

我使用类似以下的东西

function wikipedia(w){
   alert(w)
}

这给了我自动建议,但它给了我整个代码。是否有任何javascript代码可以调用,例如这个json的第一个结果。

我已经尝试了很多类似以下的

w[1]
w.wiki[0]

但没有成功。

4

4 回答 4

3

建议列表可在 中找到w[1],您需要遍历该列表才能对其进行处理。

于 2013-02-07T22:02:12.690 回答
2

你必须把这个 JSON 字符串解析成一个对象,如果你知道 jQuery,你可以试试这个

于 2013-02-07T22:00:17.130 回答
2

如果 w[1] 像您说的那样抛出该错误,则您的代码可能还有其他问题。如果你可以使用 jQuery,我强烈推荐它用于 jsonp。这段代码可以满足您的要求:

http://jsfiddle.net/Hg4KJ/

$.ajax({
    url: 'http://en.wikipedia.org/w/api.php?action=opensearch&search=wiki&callback=wikipedia',
    dataType: 'jsonp',
    callback: 'wikipedia'
}).done(function(w){
    var items = w[1];

    for(var i = 0, il = items.length; i < il; i++){
        console.log(items[i]);
    }
});
于 2013-02-07T22:09:45.200 回答
1

尝试这个

function wikipedia(w) {
    "use strict";
    var j = w;//JSON.parse(w); as commented, no need to parse.
    alert(j[1]);
}

如果您仍然不使用 jQuery。

于 2013-02-07T22:11:19.540 回答