JSON在本地工作但不在服务器上工作

时间:2014-01-02 00:36:40

标签: json

这是我作为练习的第一个小项目,在确定如何使用JSON方面遇到了麻烦,花了我一段时间让它在本地工作,但仍然没有运气服务器,并尝试了一些包括我托管的,甚至尝试过它与其他托管的json文件。

http://jsfiddle.net/Atlas_/Mgyc5/1/

$.ajax({
dataType: "json",
async: false,
url: "package.json", //https://www.dropbox.com/s/fmw63i4v7dtnx6t/package.json
'success': function (json) {
    theQuiz = json.quiz;
    console.log(json);
    console.log(theQuiz);

}
});

1 个答案:

答案 0 :(得分:0)

当您使用“Crossdomain”时,请小心访问其他域。

要与dropbox一起使用,请尝试将网址更改为:

https://dl.dropboxusercontent.com/s/fmw63i4v7dtnx6t/package.json

您的代码将是这样的:

$.ajax({
    dataType: "json",
    async: false,
    url: "https://dl.dropboxusercontent.com/s/fmw63i4v7dtnx6t/package.json", 
    success: function (json) {
        theQuiz = json.quiz;
        console.log(json);
        console.log(theQuiz);

    }
});

当您请求'dl.dropboxusercontent.com'时,您有:

Access-Control-Allow-Origin: *

https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS?redirectlocale=en-US&redirectslug=HTTP_access_control

  

“在这种情况下,服务器以Access-Control-Allow-Origin响应:   *这意味着任何域都可以跨站点方式访问资源。“

另一种选择:某些网站(例如,推特)使用“jsonp”。 http://en.wikipedia.org/wiki/JSONP或..您可以创建自己的代理。