可以';我无法在PhoneGap中使用此AJAX调用


Can't get this AJAX call working in PhoneGap

使用PhoneGap,我试图构建一个基本的android应用程序,该应用程序对PHP API进行AJAX调用并返回一些JSON数据。整个代码可以在桌面上运行,但当我进行构建时,它似乎不适用于我的Android。当我构建应用程序,将其安装在我的设备上,并加载它时,我会得到一个空白屏幕。

这是我写的客户。。。这个代码有什么问题吗?

<head>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.min.css" />
</head>
<body>
    <script>
        document.addEventListener("deviceready", onDeviceReady, false);
        function onDeviceReady() {
            // Now safe to use the PhoneGap API
            $.support.cors = true;
            $.mobile.allowCrossDomainPages = true;
            $.ajax({
                url: 'http://api.example.com/test.php',
                dataType: 'json',
                timeout: 5000,
                success: function(data, status) {
                    //data loaded
                    $('#results').append(data[0].about);
                },
                error: function() {
                    //error loading data
                    $('#results').append('No data received.');
                }
            });
            $(document).ajaxError(function(event, request, settings) {
                $("#msg").append("<li>Error requesting page " + settings.url + "</li>");
            });
            $(document).ajaxComplete(function(event, request, settings) {
                $("#msg").append("<li>Request Complete.</li>");
            });
        }
    </script>
    <p id="results"></p>
    <p id="msg"></p>
</body>
</html>

我还将config.xml中的访问源设置为:

<access origin="http://example.com" subdomains="true" /> 
<access origin="*"/>

AJAX代码(以及全局AJAX事件处理程序)似乎没有被调用。

确保cordova.js包含在正确的位置并且可用(例如alert(<some cordova property>);)。然后尝试是否调用onDeviceReady:

document.addEventListener("deviceready", function(){
      alert("deviceready");
 },false);