Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript源代码http://127.0.0.1 访问控制允许原点不允许_Javascript_Jquery_Google Chrome_Picasa - Fatal编程技术网

javascript源代码http://127.0.0.1 访问控制允许原点不允许

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

我正在制作一个简单的图库,使用html+javascript从picasa帐户拍摄照片

首先,获取相册列表,然后针对每个相册获取照片列表。第一个查询工作正常,但其他查询在浏览器(Chrome)中返回此错误:

获取404(未找到)jquery.js:8240 无法加载XMLHttpRequest。访问控制不允许原始文件:/。允许原始文件

代码如下:

           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。)