谷歌搜索几个小时后,我必须编写cordova(CLI 5.3.3)应用程序返回通过jQuery AJAX调用时找不到页面。Cordova JQuery AJAX不起作用
我已经遵循了白名单插件(https://github.com/apache/cordova-plugin-whitelist)中的所有步骤,但仍然没有运气。
我已经包括在config.xml中这些线路
<access origin="*" />
<allow-navigation href="*" />
还包括CSP像
<meta http-equiv="Content-Security-Policy" content="default-src 'self' https:">
AJAX请求像
$.ajax({
beforeSend: function() { $.mobile.loading("show"); }, //Show spinner
complete: function() { $.mobile.loading("hide"); }, //Hide spinner
url: weburl+"lgoin.php",
data: { email: $("#txtemail").val(), password: $("#txtpassword").val()},
type: "POST",
success: function(data) {
var response=$.parseJSON(data);
}
},
error: function (jqXHR, exception) {
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
alert(msg);
},
});
AJAX请求总是与按摩错误结束回拨如“请求的页面未找到。”[404]“
注: - 我已经测试web服务与维格尔REST API扩展和行之有效的
任何人可以帮助我这个问题。
感谢您的时间和提前考虑。 -Naitik
总是404或其他错误呢? – isherwood
也许你的服务器不公开给设备可以连接到服务。您可以通过设备中的打开浏览器进行测试并输入url + params并查看结果。如果在浏览器中它工作,那么请检查AndroidManifest.xml文件(在Android中),并确保有<使用权限android:name =“android.permission.INTERNET”/>应用程序可以通过互联网访问。 –
@usherwood总是404.在cordova cli 3.8上运行的其他phonegap应用程序(具有相同框架的旧应用程序)在同一台服务器上工作得很好。请求需要时间才能调用服务器,但始终以404返回,尽管服务已存在(服务器正在HTTPS上运行)。 – user2617214