Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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 由于CORS策略,Google Sheets JSON API无法获取_Javascript_Vue.js_Google Api_Cors - Fatal编程技术网

Javascript 由于CORS策略,Google Sheets JSON API无法获取

Javascript 由于CORS策略,Google Sheets JSON API无法获取,javascript,vue.js,google-api,cors,Javascript,Vue.js,Google Api,Cors,我正在使用Vue从google sheet JSON文档中提取数据,并不断遇到以下错误,在执行相同的过程时,我以前从未见过这些错误 Access to fetch at 'https://spreadsheets.google.com/feeds/list/11lnTz3OBSIe-60N-j3JCw09E-zJCTuMizcRa6NaJXVs/od6/public/values?alt=json%E2%80%A9' from origin 'null' has been blocked by

我正在使用Vue从google sheet JSON文档中提取数据,并不断遇到以下错误,在执行相同的过程时,我以前从未见过这些错误

Access to fetch at 'https://spreadsheets.google.com/feeds/list/11lnTz3OBSIe-60N-j3JCw09E-zJCTuMizcRa6NaJXVs/od6/public/values?alt=json%E2%80%A9' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
这是我的Vue.js代码

const app = new Vue({
    el: '#app',
    data: {
        projects: []
    },
    beforeCreate: function() {
        fetch('https://spreadsheets.google.com/feeds/list/11lnTz3OBSIe-60N-j3JCw09E-zJCTuMizcRa6NaJXVs/od6/public/values?alt=json
')
        .then(response => response.json())
        .then(data => {
            this.projects = data
            console.log(data)
        })
    }
});
我试着记录数据,看看控制台中会出现什么。我读到谷歌可能改变了他们的CORS政策,但我找不到合适的解决办法


有没有人在我的代码中有一个合适的修复方法,可以让我提取JSON API数据?我最终希望用我的Google工作表中刷新的数据填充我的HTML。

由于您在SSL安全url(即带有https:///的url)上进行提取,因此请求的来源也应该是安全的

谷歌api

请求的来源也应该是

而不是


谢谢你的回答!如何更改请求的来源?现在,我正在本地检查这个获取请求。你需要在线托管它,或者使用代理(我怀疑这会起作用,因为谷歌技术真的很先进)谢谢!我最终用VisualStudioCode的扩展LiveServer托管了它,它似乎工作正常
index.html:1 Uncaught (in promise) TypeError: Failed to fetch
const app = new Vue({
    el: '#app',
    data: {
        projects: []
    },
    beforeCreate: function() {
        fetch('https://spreadsheets.google.com/feeds/list/11lnTz3OBSIe-60N-j3JCw09E-zJCTuMizcRa6NaJXVs/od6/public/values?alt=json
')
        .then(response => response.json())
        .then(data => {
            this.projects = data
            console.log(data)
        })
    }
});