我正在尝试使用Google云端硬盘作为托管JSON文件的测试平台。这允许我将客户端文件交给我的设计师同事,而无需设置 WebApi 控制器或 nodeJS 服务器。
我尝试在我的JavaScript中这样称呼它:
$.ajax({
type: "POST",
dataType: 'json',
contentType: "application/json",
url: "https://drive.google.com/file/d/0B-6bXDnuW6gPT3NUQ1VSQW12Z1k/view?usp=sharing"
})
.done(function( data ) {
// reference data here
alert( data );
});
这是我试图取回的数据:
[{
"Name": "Soren Kierkegaard",
"Timestamp": "1301190400",
"Comment": "Life is understood backwards, but it is lived forwards.",
"StaticURL": "./img/some_guy2.png"
}]
但我回来了:
XMLHttpRequest 无法加载 https://drive.google.com/file/d/0B-6bXDnuW6gPT3NUQ1VSQW12Z1k/view?usp=sharing。 请求的上不存在"访问控制允许源"标头 资源。因此,不允许访问源"空"。
这倾向于怀疑浏览器(或者jQuery?(希望响应标头包含"访问控制-允许来源"键/值对。
除非我可以将其添加为 JSON 中的键/值对?这将为我的数据添加一个外层,但我应该能够在客户端 JavaScript 中解析该 OK。
我已经尝试了GET/POST和数据类型的几种组合。Jsonp似乎建议我必须在Google设置一个脚本,并且我没有看到在Google设置jsonp或要求Google在其响应标头中添加某些内容的简单方法。
通过不同平台和不同结果的类似 StackExchange 帖子:JSON 未解析
我通过使用 myjson.com 作为主机提供程序来解决这个问题。
老实说,我不明白静态 json 文件如何造成安全隐患。动态 json - 也许 - 但如果它来自谷歌云端硬盘上的文件,它不会是动态创建的,对吧?
谷歌云端硬盘 API 需要阻碍凭据箍才能跳过......这不利于快速原型制作或设置暂存环境。
从谷歌云端硬盘获取您需要更改网址的文件内容,请使用谷歌云端硬盘/主机链接,如下所示:使用链接作为"https://googledrive.com/host/0B-6bXDnuW6gPT3NUQ1VSQW12Z1k">