JavaScript - 来源http://127.0.0.1不被Access-Control-Allow-Origin允许。

6

我正在制作一个简单的图片库,使用html+javascript从picasa账户获取照片。

首先获取相册列表,然后为每个相册获取照片列表。第一个查询正常工作,但是其他查询在浏览器(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,
                    });
            }

感谢。
编辑:
我注意到,如果我删除以下行:
                            + "/albumid/"   +   album_ID

工作(当然,没有预期的响应)。


4
尝试使用JSONP代替JSON进行跨域AJAX调用。 - Nemoy
2
这是一个在jsFiddle上运行的JSONP版本:http://jsfiddle.net/XsfNE/。不确定是否意味着它可以在本地工作。(我使用了在互联网上找到的随机ID,因为您的URL是404错误页面。) - pimvdb
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接