5

我正在尝试从import.io服务器获取数据,但到目前为止我一无所获。但是当我使用相同代码的另一个apianother server,我得到了数据。你能告诉我我做错了什么吗?

这是工作代码,问题是我从 import.io 服务器没有得到任何东西。但是当我使用来自其他服务(如 kimonolabs)的另一个 url 时,我会从相同的代码中获取数据。对不起我的英语不好。我得到了这个响应代码:200

这是我的代码。

document.addEventListener('deviceready', onDeviceReady, false);

function onDeviceReady() {
    //console.log('device is ready');
    $.ajax({
        type: 'GET',
        url: 'https://api.import.io/store/data/6847842b-a779-46ba-874a-d1cfdcef2e3e/_query?input/webpage/url=http%3A%2F%2Fwww.girabola.com%2F%3Fp%3Djogos%26epoca%3D62%26jornada%3D1&_user=779609bc-1bfe-4bb3-aa45-465a3fc31d9a&_apikey=MY API KEY',
        dataType: 'jsonp',
        success: function(data) {

            console.log(data); //The log dont show me nothing.

            var output = '';
            //output += '<ul>';

            output += '<ul data-role="listview" data-inset="true">';
            output += '<li data-role="list-divider">Equipa Técnica</li>';
            console.log(data);

            $(data.results).each(function(index, value) {
                output += '<li>' + this.casa + '</li>';
            });

            output += '</ul>';

            $('#um').append(output).listview().listview('refresh');
        }
    });
}
4

1 回答 1

5

您的请求的问题是数据类型。您dataType: 'jsonp'在未添加此处所述的回调参数时进行了设置。我不确定您查询的 API 是否支持 JSONP,但我尝试使用CORS并且它可以成功运行。因此,如果您使用 jQuery 1.5+,请将您的 ajax 请求替换为以下选项:

document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady() {
    //console.log('device is ready');
    $.ajax({
        type: 'GET',
        url: 'https://api.import.io/store/data/6847842b-a779-46ba-874a-d1cfdcef2e3e/_query?input/webpage/url=http%3A%2F%2Fwww.girabola.com%2F%3Fp%3Djogos%26epoca%3D62%26jornada%3D1&_user=779609bc-1bfe-4bb3-aa45-465a3fc31d9a&_apikey=MY API KEY',
        dataType: 'json',
        crossDomain: true,
        success: function(data) {

            // Your code
        }
    });
}

如果您想了解更多关于 jQuery ajax 选项的信息,请查看. 我希望它会帮助你:)

于 2015-04-04T20:07:41.150 回答