我正在製作一個簡單的圖庫,該圖庫從帶有html + javascript的picasa帳戶中獲取照片。javascript - 原始http://127.0.0.1不允許通過Access-Control-Allow-Origin
首先,獲取專輯列表,然後爲每個專輯獲取照片列表。第一個查詢工作正常,但其他的瀏覽器(Chrome)返回此錯誤:
GET 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
作品(當然,沒有預期的響應)。
嘗試,而不是JSON跨域Ajax調用 – Nemoy
這是一個JSONP版本上的jsfiddle工作JSONP:http://jsfiddle.net/ XsfNE /。不知道這是否意味着它在本地工作。 (因爲你的URL是404,所以我在因特網上使用了一個隨機ID。) – pimvdb