簡體   English   中英

將手機升級到Android 9 Pie API 28修訂版6后,Cordova App中出現Ajax錯誤

[英]Ajax error in Cordova App after upgrade phone to Android 9 Pie API 28 Revision 6

我有一個使用Cordova 8.1.2開發的應用程序,並在Android 8.1 Oreo API Level 27 Revision 3下編譯,成功地在Play商店和注冊用戶上工作。

在過去幾周,一些用戶已經將手機升級到Android 9.0 Pie,當他們打開應用程序並進行注冊或登錄操作時,他們會收到與服務器錯誤的ajax通信。

我已經在開發人員模式下嘗試使用Android工作室和使用Android 9.0 Pie的Emulator,我得到了相同的結果。 我用不同的ajax URL進行了一些測試,ajax調用永遠不會到達服務器。

有人有同樣的問題嗎?

這是android studio中的錯誤日志:

2019-01-30 20:29:19.701 1921-1921/? E/netmgr: Failed to open QEMU pipe 'qemud:network': Invalid argument
2019-01-30 20:29:22.351 1754-1900/? E/storaged: getDiskStats failed with result NOT_SUPPORTED and size 0
2019-01-30 20:29:38.714 1925-2029/system_process E/memtrack: Couldn't load memtrack module

控制台中的Ajax錯誤視圖:

{"readyState":0,"status":0,"statusText":"error"}

最后,我解決了這個問題。 問題是在Android 9 Pie API 28中默認允許對https服務進行ajax調用。 有選擇:

  1. 在ajax URL中進行https調用
  2. 為您的http網站添加例外( 查看開發者android

您需要從SDK管理器下載API 28並更新平台工具,我相信並重新編譯您的應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM