谷歌搜索幾個小時後,我必須編寫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