I need to read a JSON file from URL and display. I have read a lot of posts but still couldn't fix the problem.
url : .json
I face this error : XMLHttpRequest cannot load
The code is below
$.getJSON(".json", function(data){
alert(data);
});
I have tried adding to the url
&callback=?
and making it a jsonp, still no luck. I have also used
<meta http-equiv="Access-Control-Allow-Origin" content="*" />
still no luck.
Is there anything that we need to do at the server side? People who have faced such an error and have found a solution, Help me out please! Thanks a lot!
I need to read a JSON file from URL and display. I have read a lot of posts but still couldn't fix the problem.
url : http://webapp.armadealo./home.json
I face this error : XMLHttpRequest cannot load
The code is below
$.getJSON("http://webapp.armadealo./home.json", function(data){
alert(data);
});
I have tried adding to the url
&callback=?
and making it a jsonp, still no luck. I have also used
<meta http-equiv="Access-Control-Allow-Origin" content="*" />
still no luck.
Is there anything that we need to do at the server side? People who have faced such an error and have found a solution, Help me out please! Thanks a lot!
Share Improve this question asked Jul 16, 2012 at 20:38 LINGSLINGS 3,6305 gold badges36 silver badges47 bronze badges 2- What is the domain where your script lives? And are you in control of the webapp server? If so, could you show us the relevant serverside code? – Bergi Commented Jul 16, 2012 at 20:41
- 1 What does that meta-tag do there? You want to serve JSON, you will need to send it as a HTTP header. – Bergi Commented Jul 16, 2012 at 20:43
1 Answer
Reset to default 4You cannot make cross-domain AJAX requests like that due to security reasons. So if you want to load content from another domain, you will have to use a workaround: JSONP (more info, example)
Use the following code for the AJAX request:
$.ajax({
url: 'http://webapp.armadealo./home.json',
type: 'GET',
jsonpCallback: 'myCallback',
dataType: "jsonp",
success: function(data) {
console.log(data);
}
});
In order for this to work, you will have to wrap the JSON data in parentheses and add the callback name at the beginning:
myCallback({ ... JSON ... })
EDIT: Just noticed you already tried to use JSONP... Well, at least the above code works for me, perhaps you want to give it a try. ;)