[英]PhoneGap / Android WebView throws “Unknown chromium error: 0”
我目前正在使用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 nope中。
有什么建議嗎? 感謝您的幫助!
更新2013-08-21:
經過一些研究后我得出的結論是$ .ajax不適用於PhoneGap(不知道為什么,也許是一個bug?)。 我們必須使用$ .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:我在PhoneGap for iPhone(在iPhone模擬器中)嘗試了相同的代碼,當我使用外部網站時,ajax請求是成功的。 在android上使用外部網站也沒有得到相同的結果。 同樣的錯誤。
誰能明白為什么? 訪問來源設置得很好......
更新2013-08-27(1小時后)
問題已解決
實際上,PhoneGap不允許對IP地址進行ajax請求,它只允許請求列入白名單(在config.xml中)。 我使用生產服務器(帶域)進行測試並且工作正常。
無論如何,謝謝你們。 我希望這可以提供幫助
為了澄清這種情況,萬一有人偶然發現它,$ .ajax確實可以與PhoneGap / Cordova一起使用 - 但是當你發現..域名必須列入白名單。
從Cordova 4及更高版本開始,config.xml中只有<access origin="*" />
不起作用。 您需要使用cordova-plugin-whitelist。
安裝插件后,您可以使用config.xml中的以下代碼來完成相同的操作:
<allow-navigation href="*" />
<allow-intent href="*" />
請注意,一般來說,使用“*”als通配符並不是一個好習慣。 而是專門定義協議和地址。
有關如何使用cordova-plugin-whitelist的更多信息,請訪問https://github.com/apache/cordova-plugin-whitelist
嘗試禁用緩存
$.ajax({
cache: false,
//your code
});
此錯誤消息實際上是空的。 這主要意味着您的應用無法在文件系統上找到資源。 因此,請嘗試禁用緩存,因此它始終會從服務器加載資源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.