Wikimedia的JSONP请求

时间:2018-09-19 14:15:14

标签: jquery ajax jsonp

我正在使用jsonp向wikimedia api成功函数发出ajax请求,但错误处理不起作用。

var wikiRequestTimeout = setTimeout(function() {
        self.wikiData = "<p>No Articles Found</p>";
    }, 3000);

    var wikiUrl = 'https://en.wikipedia.org/w/api.php?action=opensearch&search= ' + this.title + '&format=json&callback=wikiCallback';
    $.ajax({
        url: wikiUrl,
        dataType: "jsonp",
        success: function(response) {
            var articleList = response[1];

            for (var i = 0; i < articleList.length; i++) {
                var articleStr = articleList[i];
                var url = 'http://en.wikipedia.org/wiki/' + articleStr;

                self.wikiData = '<li><a href="' + url + '">' + articleStr + '</a></li>';
            };
            clearTimeout(wikiRequestTimeout);

        }
    });
};

1 个答案:

答案 0 :(得分:0)

要对失败的AJAX请求进行错误处理,您需要指定错误回调函数。 http://api.jquery.com/jquery.ajax/

例如:

$.ajax({
    url: wikiUrl,
    dataType: "jsonp",
    success: function(response) {
        ...
    },
    error: function(jqXHR, textStatus, errorThrown) {
       // your error handling goes here
    }
});