如何从我的 import.io api 服务器获取数据
How can I get data from my import.io api servers
我正在尝试从 import.io
服务器获取数据,但到目前为止我一无所获。但是当我使用来自 another server
的另一个 api
和相同的代码时,我得到了数据。你能告诉我我做错了什么吗?
这是工作代码,问题是我从 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');
}
});
}
您请求的问题是数据类型。您设置了 dataType: 'jsonp'
,但没有像 here 中描述的那样添加回调参数。
我不确定您查询的 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 选项的更多信息,请查看 there。希望对您有所帮助:)
我正在尝试从 import.io
服务器获取数据,但到目前为止我一无所获。但是当我使用来自 another server
的另一个 api
和相同的代码时,我得到了数据。你能告诉我我做错了什么吗?
这是工作代码,问题是我从 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');
}
});
}
您请求的问题是数据类型。您设置了 dataType: 'jsonp'
,但没有像 here 中描述的那样添加回调参数。
我不确定您查询的 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 选项的更多信息,请查看 there。希望对您有所帮助:)