jquery - 访问控制允许解析应用程序调用中缺少 Origin header

标签 jquery ajax parse-platform

我正在制作一个网络应用程序,需要偶尔(也许一个月)下载许多 JSON 文件并将它们存储在 localStorage 中。我使用 Parse.com 作为后端即服务。我将 JSON 托管在 Parse 上。

我的代码是:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.2.18.min.js"></script>

<script type="text/javascript">
    Parse.initialize("MY_APP_KEY", "MY_JS_KEY");
</script>

    <script>
        $.getJSON( "http://myappname.parseapp.com/1111.json", function( data ) {
            var items = [];
            $.each( data, function( key, val ) {
                items.push( "<li id='" + key + "'>" + val + "</li>" );
            });

            $( "<ul/>", {
                "class": "my-new-list",
                html: items.join( "" )
            }).appendTo( "body" );
        });
    </script>

</head>
<body>

</body>
</html>

我收到以下错误:

跨源请求被阻止:Access-Control-Allow-Origin header 丢失

但是当我在浏览器中打开它时,它打开得很好。

为什么不起作用?有什么可行的解决办法吗?

谢谢。

最佳答案

否则,您可以将 callback=? 添加到您使用的网址,如下所示,这将获取 jsonp 类型的数据:

$.getJSON( "http://myappname.parseapp.com/1111.json?callback=?", function( data ) {
        var items = [];
        $.each( data, function( key, val ) {
            items.push( "<li id='" + key + "'>" + val + "</li>" );
        });

        $( "<ul/>", {
            "class": "my-new-list",
            html: items.join( "" )
        }).appendTo( "body" );
});
<小时/>

更新

$.ajax({
    url:'http://myappname.parseapp.com/1111.json',
    dataType:'jsonp',
    crossDomain:true,
    success:function( data ) {
        var items = [];
        $.each( data, function( key, val ) {
            items.push( "<li id='" + key + "'>" + val + "</li>" );
        });

        $( "<ul/>", {
            "class": "my-new-list",
            html: items.join( "" )
        }).appendTo( "body" );
    },
    error:function(jqXHR,responseText,status){
     console.log(jqXHR);
    }
});

这就是在 ajax 中执行此操作的方法。如果您遇到任何问题,请检查控制台,因为它将记录

关于jquery - 访问控制允许解析应用程序调用中缺少 Origin header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31533351/

相关文章:

ios - 解析错误的 UI

javascript - 如何在mouseenter()之前执行click()?

javascript - Ajax发送请求时localhost和IP地址的区别

javascript - php - webscraping - 单击 ajax 调用然后抓取页面(可以在 python 中完成)

php - 如何在 script 标签内打印 JSON 数组?

ios - 使用 Swift 和 Parse 在 Bool 上使用 '==' 检查用户验证会抛出错误

dart - 我可以在Google DART中使用(facebook)解析库吗?

javascript - 如果屏幕宽度小于 960 像素,请执行某些操作

php - 在 jquery ajax url 中包含 $_SERVER 文件路径的语法?

jquery Accordion - 滚动到 li 标题