Browser Android浏览器无法正确处理跨域ajax请求

Browser Android浏览器无法正确处理跨域ajax请求,browser,javascript,Browser,Javascript,我编写了一个HTML/JS应用程序,它可以脱机工作——它放在SD卡上,使用默认的4.1 Android浏览器运行 我正在使用jQuery发出Ajax请求,以便在internet上托管。因为我是从本地文件系统运行它,所以它显然是一个跨域请求。服务器有一种基于标头操作的机制,可以启用此类CD请求。一段令人不安的代码: $.ajax({ type: "POST", crossDomain: true, data : formData, cache: false,

我编写了一个HTML/JS应用程序,它可以脱机工作——它放在SD卡上,使用默认的4.1 Android浏览器运行

我正在使用jQuery发出Ajax请求,以便在internet上托管。因为我是从本地文件系统运行它,所以它显然是一个跨域请求。服务器有一种基于标头操作的机制,可以启用此类CD请求。一段令人不安的代码:

$.ajax({
    type: "POST",
    crossDomain: true,
    data : formData,
    cache: false,
    url: "http://someurlwhichhandlescrossdomain.com",
    success: function(data){
        alert("hurrayy!");

    },
    error: function(xhr, ajaxOptions, thrownError) {
        alert("bah :/");
        alert(xhr.status);
        alert(thrownError);
    }
});
问题在于,尽管数据发送正确且服务器正确注册了请求,但始终会执行error函数。xhr.status始终为0,thrownError为空

同样的代码在桌面上的Chrome上也能正常工作(警告“万岁”)

目前,我使用了一种基于
navigator.onLine
的解决方案,如果该值为true,我假设数据已正确发送到服务器(因为我不需要从服务器读取任何内容)。但是这个解决方案很糟糕,因为如果连接正常,但服务器不正常,我就无法处理它

有什么想法吗

谢谢,
卡罗尔

我不明白为什么这会是重复的。我使用的方法与问题中提到的完全相同,但我的问题是关于android浏览器的。这个问题的公认答案是如何做到这一点,而不是为什么它在android浏览器中不起作用,这正是我要问的。答案作者只是声称它在手机浏览器上不起作用,但答案是从2011年开始的,所以我希望在这方面有所改变。。。。