最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Get a JSON file from URL, XMLHttpRequest cannot load error - Stack Overflow

programmeradmin1浏览0评论

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
Add a ment  | 

1 Answer 1

Reset to default 4

You 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. ;)

发布评论

评论列表(0)

  1. 暂无评论