在Android上運行應用程序(在iOS上可用)時,AJAX調用失敗。這是錯誤(其實是一個警告)我看到在Chrome瀏覽器開發工具:在發佈模式下運行Android Cordova應用程序時,Ajax調用失敗
臨時標題顯示
Request URL:https://server.com/api/index.php?ticket=ST-111111-ABCDEFG-cas
Request Headers
Provisional headers are shown
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Origin:file://
User-Agent:Mozilla/5.0 (Linux; Android 6.0; Google Nexus 5 - 6.0.0 - API 23 - 1080x1920 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/40.0.0.0 Mobile Safari/537.36
Query String Parametersview sourceview URL encoded
ticket:ST-111111-ABCDEFG-cas
Form Dataview sourceview URL encoded
request:{"param1":"val1","param2":"val2"}
一切正常的調試模式。 我去年發佈的Android版本仍然正常工作。所以它可能與Cordova的新版本有關。 下面是工具的版本我有:
- 節點版本:v4.4.3
- 科爾多瓦版本:6.2.0
- [email protected]
- Android SDK最新版
我沒有設置在config.xml這些設置:
<allow-navigation href="*" />
<access origin="*" />
<allow-intent href="*" />
我使用白名單插件:
<plugin name="cordova-plugin-whitelist" spec="1" />
我還設置這個元index.html文件中:
<meta http-equiv="Content-Security-Policy" content="default-src *; img-src 'self' data:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
有沒有其他的科爾多瓦設置我忘了設置?我已經刪除並重新添加了Android平臺到我的項目中,更新了我所有的插件,但我仍然得到相同的Ajax錯誤。
請幫忙。
您現在有解決方案嗎?我有同樣的問題,不確定是否有SSL問題。它只發生在一些設備上,比如moto x。 –
是的,這是一個SSL問題。 Android最新版本並未完全信任HTTPS證書。一旦使用更強大的加密技術重新生成了證書,該應用即可在Android上重新開始工作。 – Yuri