Javascript PhoneGap/Android WebView抛出;未知错误:0“;

Javascript PhoneGap/Android WebView抛出;未知错误:0“;,javascript,ajax,cordova,chromium,Javascript,Ajax,Cordova,Chromium,我目前正在使用PhoneGap开发一个项目,我需要向我的本地Web服务器发出ajax请求,该服务器已经: PHP代码 header('Access-Control-Allow-Origin: *'); 无论如何,当我在Android上使用jQuery执行ajax请求时,我会得到以下错误(在adb logcat中): Javascript代码是: $.ajax({url:"http://192.168.1.219/works/privati/folder/api.php/getlastmag

我目前正在使用PhoneGap开发一个项目,我需要向我的本地Web服务器发出ajax请求,该服务器已经:

PHP代码

header('Access-Control-Allow-Origin: *');  
无论如何,当我在Android上使用jQuery执行ajax请求时,我会得到以下错误(在adb logcat中):

Javascript代码是:

$.ajax({url:"http://192.168.1.219/works/privati/folder/api.php/getlastmaginfo",dataType:"json",success:function(data)
{
    console.log("Finished loading by ajax");
    console.log(data);
}});
在Ripple Emulator中,在Android nope中,工作与预期一样

有什么建议吗?谢谢你的帮助

更新2013-08-21:

经过一些研究,我得出结论,$.ajax不能与PhoneGap一起使用(不知道为什么,可能是一个bug?)。 我们必须改用$.get,但当我使用$.get执行请求时,我会得到
未知错误:-6
我还了解到,这个问题是由于Android的WebView URL机制的缺陷造成的

我会继续我的研究,直到我找到一个好的和有效的解决方案

更新2013-08-21(2): 甚至用这个都不行

var fileTransfer = new FileTransfer();

fileTransfer.download(
    "http://192.168.1.219/works/privati/qlipmag/api.php/getlastmaginfo",
    "json.json",
    function(entry) {
        console.log("OKAY");

    },
    function(error) {
        console.log(error);
    }
);
错误位于
newfiletransfer()=>
未捕获引用错误:未定义文件传输

更新2013-08-22:

即使加载外部图像,它也不起作用:

同样的错误

在android清单文件中,我已经设置了权限:

<uses-permission android:name="android.permission.INTERNET" />

我真的不知道问题出在哪里

更新2013-08-27: 我在PhoneGap for iPhone(在iPhone Emulator中)上尝试了相同的代码,当我使用外部网站时,ajax请求成功。在android上使用外部网站也不会得到同样的结果。 同样的错误

谁都知道为什么?访问源设置得很好…

请尝试禁用缓存

$.ajax({
    cache: false,
    //your code
});

这个错误消息真的很空洞。这主要意味着您的应用程序无法在文件系统上找到资源。因此,请尝试禁用缓存,以便它始终从服务器加载资源

为了澄清这一点,以防有人像我一样偶然发现,$.ajax确实与PhoneGap/Cordova配合使用,但正如您所发现的那样。。域必须被列入白名单。

更新2013-08-27(1小时后)

问题已解决

实际上PhoneGap不允许ajax请求到ip地址,它只允许请求到白名单(在config.xml中)域。 我使用了生产服务器(带域)进行测试,它工作正常


谢谢大家。我希望这能对Cordova 4及以上版本有所帮助,因为这里只有

相同的问题…但我正在使用主干网并在一个集合中获取数据设置“url”。竖起大拇指,伙计,有条不紊的研究和文档令人印象深刻,加上你刚刚很好地解决了我的问题。太棒了-非常感谢..这就是为什么你应该阅读文档:)确保“回答”你的问题,并将其标记为解决方案。没有,不是缓存问题,相同的错误:
D/chromium(3228):未知chromium错误:0
hi,我有两个应用程序版本,相同,一个工作,另一个抛出这个错误。唯一不同的phonegap版本:这个ip地址限制可能是在phonegap 3.1之后修复的。0@DenysVitali我也面临同样的问题,我可以在域名中添加IP地址。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-是的,你说得对……对不起,这里很新。我已经更新了答案。
$.ajax({
    cache: false,
    //your code
});
<allow-navigation href="*" />
<allow-intent href="*" />