我想将json文件存储到我的amazon s3中,然后使用ajax请求检索它。不幸的是,似乎s3不允许内容类型的应用程序/ json ....
我应该将文件保存为text / plain,然后使用php添加标题?
答案 0 :(得分:6)
我发现了这个问题。我正以错误的方式解析json。
$.ajax({
url:"https://s3.amazonaws.com/myBucket/myfile.json",
type:"GET",
success:function(data) {
console.log(data.property)
}
})
相反,这有效:
$.ajax({
url:"https://s3.amazonaws.com/myBucket/myfile.json",
type:"GET",
success:function(data) {
var obj = jQuery.parseJSON(data);
if(typeof obj =='object'){
console.log(obj.property)
}
}
})
答案 1 :(得分:2)
更改元数据'价值'在Key中:值对' Application / json'来自文件属性,在AWS S3控制台中。
答案 2 :(得分:0)
为避免解析json,请使用ajax的dataType属性,在这里我们期望将响应作为json,因此
dataType: "json"
将自动为您解析json,并且可以直接访问而无需JSON.parse(),成功功能主体。
$.ajax({
url:"https://s3.amazonaws.com/myBucket/myfile.json",
type:"GET",
dataType: "json", // This line will automatically parse the response as json
success:function(data) {
var obj = data;
if(typeof obj =='object'){
console.log(obj.property)
}
}
})
dataType -您是在告诉jQuery期望什么样的响应。 需要JSON,XML或HTML等。在我们的示例中为JSON。