【发布时间】:2014-02-17 02:17:53
【问题描述】:
我正在尝试使用 jQuery 从 amazonS3 获取文件,但我遇到了可怕的跨域访问策略问题。当前的解决方案是基本上有一个通过接口,使用 php 的 readfile 方法读取文件。我个人不喜欢这个,因为它使用网站数据(如果它是有限的或付费的),我认为直接从 amazon S3 链接获取它会更好。
我查找了可能的解决方案,他们都说要么使用 JSONP 要么使用 CORS。我不想使用 CORS,因为多人使用服务器安装,而且我不希望他们需要设置更多。
我尝试了 JSONP(下面的代码),但我收到了语法错误,因为我没有读取 json 数据。我正在阅读 text/plain 或 application/octet-stream。
这是我尝试使用的 json 代码:(希望格式正确)
$.ajax({
url: '<non-json file url goes here>',
dataType: 'jsonp',
jsonp: true,
jsonpCallback: 'content'
}).done(function (data) {
if (data.enabled === true) {
alert("done");
}
});
除了 CORS 和当前方法之外,还有什么方法可以做我想做的事吗?
编辑 2014 年 1 月 26 日: 说真的,请停止建议CORS。我知道我可以使用 CORS,我在问除了 CORS 是否还有其他方法。谢谢。
【问题讨论】:
标签: php jquery amazon-s3 jsonp