【发布时间】:2015-11-27 18:18:27
【问题描述】:
我目前正在使用 PhoneGap 开发一个项目,我需要向我的本地网络服务器发出 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 中不行。
有什么建议吗?感谢您的帮助!
2013 年 8 月 21 日更新:
经过一些研究,我得出的结论是 $.ajax 不能与 PhoneGap 一起使用(不知道为什么,也许是一个错误?)。
我们必须改用 $.get,但是当我用 $.get 发出请求时,我得到Unknown chromium error: -6
我还阅读了here,该问题是由于 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 年 8 月 22 日更新:
即使加载外部图像也不起作用:
<img src="http://externalhost.com/image.jpg"/>
同样的错误。
在 android manifest 文件中我已经设置了权限:
<uses-permission android:name="android.permission.INTERNET" />
我真的不知道问题出在哪里......
2013 年 8 月 27 日更新: 我在 iPhone 的 PhoneGap 上尝试了相同的代码(在 iPhone 模拟器中),当我使用外部网站时,ajax 请求成功。在 android 上使用外部网站也不会得到相同的结果。 同样的错误。
任何人都可以看到为什么?访问源设置得很好...
【问题讨论】:
-
这里有同样的问题......但我正在使用主干并在集合中获取数据设置“url”。
-
竖起大拇指哥们,有条不紊的研究和文档令人印象深刻,而且你刚刚解决了我的问题,做得很好。
-
太棒了 - 非常感谢..
-
这就是你应该阅读文档的原因:)
-
确保“回答”您的问题,并将其标记为解决方案。
标签: javascript ajax cordova chromium