JSON没有加载

时间:2011-02-17 22:59:56

标签: jquery json

在从我的网站加载JSON Feed时遇到一些麻烦。我开始认为feed本身有问题,因为将地址插入到各种不同的示例代码块中似乎不起作用。

我尝试过以下示例,并在尝试通过Chrome的Javascript控制台深入钻取错误时,不断遇到“Access-Control-Allow-Origin不允许使用Origin null”。有什么想法吗?

尝试#1:

    <script type="text/javascript">
        $().ready(function(){ 
            var url = 'http://www.solidverbal.com/category/clicks?feed=json';
            $.get(url, function(data) {
                // can use 'data' in here...
            });
        });

    </script>

尝试#2:

<script type="text/javascript">
        $.ajax({
            type: "POST",
            url: "http://www.solidverbal.com/category/clicks?feed=json",
            data: '{}', // your parameter goes here
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            processdata: true,
            success: function (msg) {
                loadDetails(msg.d);  // msg.d contains the JSON data being returned
            },
            error: function (msg, error, obj) {
                alert(msg.responseText);
            }
        });


        function loadDetails(results) {
            // depending on the data in the JSON object, you can access them using
            // the syntax results.<propertyname>  etc…
        }

    </script>

1 个答案:

答案 0 :(得分:1)

由于same origin policy限制,您不得执行跨域AJAX调用。因此,除非您运行此脚本的页面位于http://www.solidverbal.com上,否则将无效。作为一种可能的解决方法,如果远程域支持它,则可以使用JSONP,或者在域上提供服务器端脚本,该脚本将充当域和远程域之间的桥梁,然后执行对此脚本的AJAX调用。 / p>