1

我正在使用 phonegap android 开发一个应用程序。当我运行这段代码时,它给出了以下错误

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
        <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>
        <title>Insert title here</title>

        <script>
            (function($) {

                $.fn.getPageData = function() {
                    var finalData = "";

                    $.ajax({
                        url : "Demo url.com",
                        type : "GET",
                        success : function(data) {

                            finalData = '<div id="index" data-role="page" data-url="index" tabindex="0" class="ui-page ui-body-c ui-page-active" style="min-height: 386px;"><div data-role="header" class="ui-header ui-bar-a" role="banner"><h3 class="ui-title" role="heading" aria-level="1">First Page</h3></div></div>';

                        },
                        fail : function() {
                            finalData = '<div id="index" data-role="page" data-url="index" tabindex="0" class="ui-page ui-body-c ui-page-active" style="min-height: 386px;"><div data-role="header" class="ui-header ui-bar-a" role="banner"><h3 class="ui-title" role="heading" aria-level="1">Error Page</h3></div></div>';

                        }
                    });
                    this.append(finalData);

                };

            })(jQuery);
            $(document).ready(function() {

                $('body').getPageData();
                //$(a).appendTo("body");
            });
        </script>

    </head>
    <body>

    </body>
</html>

它给出了以下错误。

Origin null is not allowed by Access-Control-Allow-Origin.
4

2 回答 2

0

如果您执行 Ajax 调用,OPTIONS则首先将调用发送到服务器,以检测它是否允许跨域资源共享。如果返回的标题不允许这样做,您会收到这样的错误。

您可以尝试使用 localhost(或服务器本身)作为您的演示网址吗?

检查您的网络选项卡。

你可以阅读更多关于 CORS 的信息: http ://en.wikipedia.org/wiki/Cross-origin_resource_sharing http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/

关于同源政策: http ://en.wikipedia.org/wiki/Same_origin_policy

于 2013-03-02T10:26:37.297 回答
0

尝试将http://localhost(或任何您的本地主机 URL)添加到phonegap.plist“外部主机”下的文件中。它可能会存在于您的支持文件目录中。

于 2013-03-02T10:29:43.453 回答