我想知道我的问题是我的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魔术会让我相信如果它运行在一个上,它会运行在另一个上。
所有帮助表示赞赏!
答案 0 :(得分:0)
我也在phonegap应用程序上使用ajax,它运行良好。你可以打电话给http。我认为您调用的URL不存在,或者可能存在连接问题,例如数据关闭时。
答案 1 :(得分:0)
这是一个老问题,但是,解决方案可能会帮助谷歌搜索它的人。
将此代码添加到config.xml文件中:
<gap:plugin name="cordova-plugin-whitelist" source="npm" />
<access origin="*" />
因为Cordova的新版本需要白名单插件。