在第三方服务器上使用 JSON
Working with a JSON on a third-part server
我正在用 cordova 开发一个 Android 应用程序,我需要从这个地址读取 json 文件:Dati.venezia.it 并将其放入 json 变量.我尝试过使用 jQuery getJson,但我在使用 CORS 时遇到了问题,我也尝试过使用 JSONP 进行同样的思考,但我还不知道它是如何工作的。
任何帮助,将不胜感激。
console.log("start");
var url = 'http://dati.venezia.it/sites/default/files/dataset/opendata/livello.json?callback=?';
this.risultato= $.getJSON(url, function(data){
});
console.log("end");
这是对 getJson 的尝试
$.getJSON('http://dati.venezia.it/sites/default/files/dataset/opendata/livello.json', function (data) {
console.log(data);
var items = data.items.map(function (item) {
return item.key + ': ' + item.value;
});
showData.empty();
if (items.length) {
var content = '<li>' + items.join('</li><li>') + '</li>';
var list = $('<ul />').html(content);
showData.append(list);
}
});
您说得对,您可以使用 jsonp
作为解决方法。查看 Dati.venezia.it ,目前似乎不支持 jsonp
。您需要让端点 Dati.venezia.it 为 jsonp
提供回调才能工作。
此外,端点缺少响应 header Access-Control-Allow-Origin
,如果没有 header,其他站点将无法从中提取数据。这就是您 运行 陷入 CORS 问题的原因。如果您控制该网站,则需要将 Access-Control-Allow-Origin
添加到其响应 headers.
我正在用 cordova 开发一个 Android 应用程序,我需要从这个地址读取 json 文件:Dati.venezia.it 并将其放入 json 变量.我尝试过使用 jQuery getJson,但我在使用 CORS 时遇到了问题,我也尝试过使用 JSONP 进行同样的思考,但我还不知道它是如何工作的。 任何帮助,将不胜感激。
console.log("start");
var url = 'http://dati.venezia.it/sites/default/files/dataset/opendata/livello.json?callback=?';
this.risultato= $.getJSON(url, function(data){
});
console.log("end");
这是对 getJson 的尝试
$.getJSON('http://dati.venezia.it/sites/default/files/dataset/opendata/livello.json', function (data) {
console.log(data);
var items = data.items.map(function (item) {
return item.key + ': ' + item.value;
});
showData.empty();
if (items.length) {
var content = '<li>' + items.join('</li><li>') + '</li>';
var list = $('<ul />').html(content);
showData.append(list);
}
});
您说得对,您可以使用 jsonp
作为解决方法。查看 Dati.venezia.it ,目前似乎不支持 jsonp
。您需要让端点 Dati.venezia.it 为 jsonp
提供回调才能工作。
此外,端点缺少响应 header Access-Control-Allow-Origin
,如果没有 header,其他站点将无法从中提取数据。这就是您 运行 陷入 CORS 问题的原因。如果您控制该网站,则需要将 Access-Control-Allow-Origin
添加到其响应 headers.