Jquery Phonegap AJAX don';我不能在iOS和Android上工作

Jquery Phonegap AJAX don';我不能在iOS和Android上工作,jquery,ajax,cordova,cors,phonegap,Jquery,Ajax,Cordova,Cors,Phonegap,我们是一家使用phonegap进行早期构建的小公司,但我们受到了404错误/CORS的打击 我正在为我的API使用.Net Framework,CORS已经完全设置好了 所以基本上,当我通过phonegap开发工具在我的桌面上启动我的应用程序时,它可以工作,但如果我禁用我的“CORS”扩展,它就不能工作 但是,当我为IOS和Android构建应用程序时,安装过程等正在发挥奇迹般的作用,但我的问题是我无法让我的应用程序访问API——它不会影响AJAX调用 如果我没说错的话,我认为CORS在电话上是

我们是一家使用phonegap进行早期构建的小公司,但我们受到了404错误/CORS的打击

我正在为我的API使用.Net Framework,CORS已经完全设置好了

所以基本上,当我通过phonegap开发工具在我的桌面上启动我的应用程序时,它可以工作,但如果我禁用我的“CORS”扩展,它就不能工作

但是,当我为IOS和Android构建应用程序时,安装过程等正在发挥奇迹般的作用,但我的问题是我无法让我的应用程序访问API——它不会影响AJAX调用

如果我没说错的话,我认为CORS在电话上是不必要的

注意:我的API当前运行在HTTP而不是HTTPS上

CSP:(允许一切,但仍然不起作用)

“meta http equiv=”内容安全策略“Content=”default src*'不安全内联';样式src“self”“unsafe inline”;媒体src*;连接src*“/”

CONFIG.XML:(我删除了图标、名称和应用程序描述。)


AJAX调用:

function Login() {
    var Email = $("#pass").val();
    var Password = $("#bruger").val();

    $.ajax({
        type: 'GET',
        url: 'http://myapiserver.com/' + Email + '/' + Password,
        success: function (data) {
            if (data.ID > 0 && data.Username !== null) {
                console.log("", data.Id);
                console.log("", data.Username);
                window.localStorage.setItem("user", data.Id);
                window.localStorage.setItem("namefield", data.Username);
                window.location.assign("main.html");

            } else {
                $("#msg").html("<span style=\"color: black;\" class=\"alert\">Brugeren blev ikke fundet!</span>"); 
            }
        }
    });

        if (window.localStorage.getItem("user")!== null) {
            window.location.assign("main.html");
        }

}
函数登录(){
var Email=$(“#通过”).val();
var Password=$(“#bruger”).val();
$.ajax({
键入:“GET”,
网址:'http://myapiserver.com/“+电子邮件+”/“+密码,
成功:功能(数据){
如果(data.ID>0&&data.Username!==null){
console.log(“”,data.Id);
console.log(“”,data.Username);
window.localStorage.setItem(“用户”,data.Id);
window.localStorage.setItem(“namefield”,data.Username);
window.location.assign(“main.html”);
}否则{
$(“#msg”).html(“Brugeren blev ikke fundet!”);
}
}
});
if(window.localStorage.getItem(“用户”)!==null){
window.location.assign(“main.html”);
}
}
我一直在读一些关于WebView导致错误的文章,但是由于IOS也失败了,我不认为这是原因,它也应该在WebView的最新补丁中解决

我可能需要更新一些SDK或其他东西,但由于我使用Phonegap工具创建应用程序,所以我不知道如何做到这一点。(可能需要一些帮助)

整个应用程序都在浏览器中运行,在IOS和Andoid上运行时就“完成了”——但我真的需要尽快弄清楚这一点,因为我们一周后将举行投资者会议


我真的希望有人知道这里发生了什么-提前谢谢

您必须在myapiserver.com上实现HTTPS,即使是为了开发。通过PhoneGap API的iPhone尤其会在不通过HTTPS的情况下阻止对外部URL的请求。我构建了一个PhoneGap应用程序,正好解决了这个问题。您可以尝试将其添加到允许的URL中,但如果苹果不使用HTTPS,并且没有真正的错误原因,它将阻止它。您需要将SSL添加到该web服务的dev和prod服务器URL中。我假设Android已经遵循了suite。

我已经尝试添加SSL并通过HTTPS运行它,结果是一样的。有这么多人在自动取款机上遇到了这个问题,而从我所能看到的和从其他人那里听到的情况来看,似乎没有人能解决这个问题。
function Login() {
    var Email = $("#pass").val();
    var Password = $("#bruger").val();

    $.ajax({
        type: 'GET',
        url: 'http://myapiserver.com/' + Email + '/' + Password,
        success: function (data) {
            if (data.ID > 0 && data.Username !== null) {
                console.log("", data.Id);
                console.log("", data.Username);
                window.localStorage.setItem("user", data.Id);
                window.localStorage.setItem("namefield", data.Username);
                window.location.assign("main.html");

            } else {
                $("#msg").html("<span style=\"color: black;\" class=\"alert\">Brugeren blev ikke fundet!</span>"); 
            }
        }
    });

        if (window.localStorage.getItem("user")!== null) {
            window.location.assign("main.html");
        }

}