javascript源代码http://127.0.0.1 访问控制允许原点不允许
我正在制作一个简单的图库,使用html+javascript从picasa帐户拍摄照片 首先,获取相册列表,然后针对每个相册获取照片列表。第一个查询工作正常,但其他查询在浏览器(Chrome)中返回此错误: 获取404(未找到)jquery.js:8240 无法加载XMLHttpRequest。访问控制不允许原始文件:/。允许原始文件 代码如下:javascript源代码http://127.0.0.1 访问控制允许原点不允许,javascript,jquery,google-chrome,picasa,Javascript,Jquery,Google Chrome,Picasa,我正在制作一个简单的图库,使用html+javascript从picasa帐户拍摄照片 首先,获取相册列表,然后针对每个相册获取照片列表。第一个查询工作正常,但其他查询在浏览器(Chrome)中返回此错误: 获取404(未找到)jquery.js:8240 无法加载XMLHttpRequest。访问控制不允许原始文件:/。允许原始文件 代码如下: var json_Album_URI = "https://picasaweb.google.com/data/feed/bas
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,
});
}
谢谢
编辑:
我注意到,如果我删除该行:
+ "/albumid/" + album_ID
有效(当然,没有预期的响应)。这似乎是罪魁祸首。Picasa的头响应在这两个请求之间有所不同。当它们包括访问控制允许原点:
时,它会成功
Picasa将其包括在:
但不在其中:对于跨域ajax调用,请尝试使用JSONP而不是json。这里有一个适用于JSFIDLE的JSONP版本:。但不确定这是否意味着它在本地工作。(我使用了互联网上的随机ID,因为你的URL是404。)