Cordova AJAX 404错误

use*_*367 0 ajax jquery cordova

我正在使用cordova开发一个Android应用程序,因此我也需要发生AJAX请求.我正在为请求使用jQuery,在更新index.php安全策略后,我将其连接到远程服务器.但现在我收到错误404 - 启动AJAX请求时找不到.该错误可能与我POST到服务器的数据有关吗?网址是正确的,我启用了白名单插件.

编辑:

function ajaxrequestlogin() {
    var login_username=$("#username").val();
    var login_password=$("#password").val();
    var dataString="username="+login_username+"&password="+login_password;
    $.ajax({
    type: "POST",
    url: "http://www.my-url.de/path/to/myapi.php",
    data: dataString,
    crossDomain: true,
    cache: false,
    beforeSend: function(){ $("#message").html('Verbinde...');},
    error: function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);},

    success: function(data){
        if(data=="success") {
            window.localStorage.setItem(loggedin, true);
            window.localStorage.setItem(username, login_username);
            window.localStorage.setItem(password, login_password);
            alert("Erfolgreich eingeloggt als "+login_username);
        }
        else if(data=="wrong_userorpass") {
            alert("Username und Passwort stimmen nicht überein!");
        }
        else if(data=="failed") {
            alert("Ups! Ein Fehler ist aufgetreten. Bitte versuche es erneut.");
        }
    }
    });
    return false;
}
Run Code Online (Sandbox Code Playgroud)

应用程序应将用户名和密码发送到服务器,该服务器验证凭据并使用返回success或wrong_userorpass

echo "success";
Run Code Online (Sandbox Code Playgroud)

例如.我是否必须在API的PHP脚本中更改某些内容以使选项无缓存工作,或者它是否可以在没有任何干预的情况下正常工作?

use*_*367 9

好吧经过几个小时的尝试,改变安全策略和config.xml我终于解决了问题,所以我只是分享给你,因为我认为这是尝试将Ajax与cordova应用程序一起使用时的常见问题.在尝试解决问题的同时,我读到了10个论坛帖子,其中有人更新了他们的cordova,之后Ajax丢失了404错误.这些人的解决方案总是只安装cordova-plugin-whitelist插件.对我来说(我下载了6.3版本)这个插件已经安装并激活,所以我没有理会这些答案.在今晚尝试了之后,我意识到我的脚本一切正常,它必须是一个特定于cordova的问题(我用ajax请求的浏览器版本测试了它)所以我只是输入了 cordova plugin add cordova-plugin-whitelist.它已安装(即使插件已安装并处于活动状态),此后立即一切正常.因此,即使您认为白名单插件不是问题所在:只需尝试再次安装它就可以正常工作.