I would like to store json file to my amazon s3 and then retrieve it with ajax request. Unfortunately it seems s3 does not allow content-type application/json....
I shou
I have found the problem. I was parsing the json in the wrong way.
$.ajax({
url:"https://s3.amazonaws.com/myBucket/myfile.json",
type:"GET",
success:function(data) {
console.log(data.property)
}
})
Instead this works:
$.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)
}
}
})
Change Metadata 'Value' in Key:Value pair to 'Application/json' from file properties, in AWS S3 console.
To avoid parsing json use dataType property of ajax, Here we are expecting response as json so
dataType: "json"
will automatically parse the json for you and can be accessed directly without JSON.parse(), in Success function body.
$.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 - is you telling jQuery what kind of response to expect. Expecting JSON, or XML, or HTML, etc. In our case it was JSON.