一尘不染

PhoneGap / Android WebView引发“未知铬错误:0”

ajax

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

PHP代码

header('Access-Control-Allow-Origin: *');

无论如何,当我在Android上使用jQuery执行ajax请求时,出现此错误(在adb logcat中):

D/chromium(23078): Unknown chromium error: 0

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一起使用(不知道为什么,也许是错误?)。我们必须改用$ .get,但是当我使用$
.get进行请求时,Unknown chromium error: -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);
    }
);

错误位于new FileTransfer();=>Uncaught ReferenceError: FileTransfer is not defined

更新2013-08-22:

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

<img src="http://externalhost.com/image.jpg"/>

同样的错误。

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

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

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

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

有人知道为什么吗?访问来源设置良好…


阅读 228

收藏
2020-07-26

共1个答案

一尘不染

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

解决的问题

实际上,PhoneGap不允许对IP地址进行Ajax请求,而仅允许对白名单(在config.xml中)域的请求。我使用生产服务器(带有域)进行测试,并且可以正常工作。

谢谢你们。我希望这可以帮助

2020-07-26