PhoneGap Android设备就绪但没有Ajax

时间:2015-09-14 22:26:30

标签: android jquery ajax phonegap-build

我想知道我的问题是我的ajax调用是http,而不是https。我必须使用https拨打电话,还是可以使用http呼叫?

我正在使用PhoneGap cloud cli-5.2.0(iOS 3.9.1 / Android 4.1.1 / Windows 3.8.1)进行编译

我编译我的软件包,将其安装在我的Android三星上,它启动了,我的$ .ajax错误

errorThrown:未定义 textStatus:错误 数据:{" readyState的&#34:4," responseText的":"""状态":的 404 下, " statusText":" Not Found"}

有任何建议/想法吗?

我读了以下内容: jQuery Mobile + Phonegap on Android - no Ajax,但它已有两年了,与较旧版本的phonegap有关。

我的代码不需要特别的魔法 - 我确实包含了phonegap.js,但我不使用gps,相机,联系人等等。

使用下面的代码,我确实得到了我的" deviceready"和"准备文件"显示。当我点击我的登录按钮(id =' demologin')时,会执行DemoLogin()函数。

function onDeviceReady() {
    $("#demologin").on("click", DemoLogin );

    $("#demologin").after("<h3>deviceready</h3>");
    return true;
}

    $(document).ready(
    function()
    {
        document.addEventListener("deviceready", onDeviceReady, false);
        $("#demologin").after("<h3>document ready</h3>");
    });

如果我猜,ajax&#34; 404&#34;让我相信它调用一个不存在的URL因此我想知道Android是否希望我调用https而不是http。我遇到的问题是代码适用于iOS,所以我认为PhoneGap魔术会让我相信如果它运行在一个上,它会运行在另一个上。

所有帮助表示赞赏!

2 个答案:

答案 0 :(得分:0)

我也在phonegap应用程序上使用ajax,它运行良好。你可以打电话给http。我认为您调用的URL不存在,或者可能存在连接问题,例如数据关闭时。

答案 1 :(得分:0)

这是一个老问题,但是,解决方案可能会帮助谷歌搜索它的人。

将此代码添加到config.xml文件中:

<gap:plugin name="cordova-plugin-whitelist" source="npm" />
<access origin="*" />

因为Cordova的新版本需要白名单插件。