![](/img/trans.png)
[英]Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin
[英]javascript - Origin http://127.0.0.1 is not allowed by Access-Control-Allow-Origin
我正在制作一个简单的图库,用html + javascript从picasa帐户拍摄照片。
首先,获取专辑列表,然后为每张专辑获取照片列表。 第一个查询工作正常,但其他查询在浏览器(Chrome)中返回此错误:
获取https://picasaweb.google.com/data/entry/base/user/114476218463019618611/albumid/5750459375839674337?alt=json&hl=en_US 404(未找到)jquery.js:8240 XMLHttpRequest无法加载https://picasaweb.google .com / data / entry / base / user / 114476218463019618611 / albumid / 5750459375839674337?alt = json&hl = en_US 。 原始文件:// Access-Control-Allow-Origin不允许。
这是代码:
var json_Album_URI = "https://picasaweb.google.com/data/feed/base/"
+ "user/" + username
+ "?alt=" + "json"
+ "&kind=" + "album"
+ "&hl=" + "en_US"
+ "&fields=" + "entry(media:group,id)"
+ "&thumbsize=" + 104
+ "&authkey=" + authkey;
$.ajax({
type: 'GET',
url: json_Album_URI,
success : function(resp) {
albums = resp.feed.entry;
},
dataType: 'json',
async: false
});
for (var id in albums) {
var album = albums[id];
var album_ID = album.id.$t.split('/')[9].split('?')[0];
var json_Photo_URI = "https://picasaweb.google.com/data/feed/base/"
+ "user/" + username
+ "/albumid/" + album_ID
+ "?alt=" + "json"
+ "&kind=" + "photo"
+ "&hl=" + "en_US"
+ "&fields=" + "entry(media:group)"
+ "&thumbsize=" + 104
+ "&authkey=" + authkey;
//this is the ajax call that fails
$.ajax( {
type: 'GET',
url: json_Photo_URI,
success: function(photos) {
console.log(photos);
},
dataType: "json",
async: false,
});
}
谢谢。
编辑:
我notica,如果我删除该行:
+ "/albumid/" + album_ID
工作(当然,没有预期的反应)。
看起来CORS是罪魁祸首。 Picasa的标头响应在这两个请求之间有所不同。 当它们包含access-control-allow-origin:*
时,它会成功access-control-allow-origin:*
。
Picasa将其包含在: https : //picasaweb.google.com/data/entry/base/user/114476218463019618611 ?alt = json&hl = zh_CN
但不是: https : //picasaweb.google.com/data/entry/base/user/114476218463019618611/albumid/5750459375839674337 ?alt = json&hl = zh_CN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.