我有一個在後端使用PHP的Adobe PhoneGap應用程序。網絡更改後(如WiFi - > 4G),每當有XMLHttpRequest
(或與服務器通信)時,應用程序都會崩潰。如果我讓應用程序「凍結」3分鐘,應用程序將繼續正常工作。我正在測試Android手機,並帶有「內置」.apk文件。PhoneGap應用程序在使用XMLHttpRequest進行網絡更改後凍結/鎖定
我試過/正在做什麼。這是在我的配置文件
<plugin name="cordova-plugin-whitelist" source="npm" spec="https://github.com/apache/cordova-plugin-whitelist" />
<allow-intent href="http://*/*" />
<allow-intent href="*://*api.parse.com/*"/>
And here is what my code looks like that is communication with PHP
function getProducts() {
var url = 'http://www.*.com/*/*/getProducts.php';
var params = "ID=1" +
var xhr = new XMLHttpRequest();
xhr.open('GET', url + "?" + params, false);
xhr.addEventListener("readystatechange", processRequest, false);
function processRequest(e) {
if (xhr.readyState == 4 && xhr.status == 200) {
document.getElementById("results").innerHTML = xhr.response;
}
}
xhr.send(params);
}
有沒有其他人跑過這個問題呢?
這裏是所有插件我使用
<preference name="android-minSdkVersion" value="14" />
<plugin name="cordova-plugin-console" source="npm" spec="https://github.com/apache/cordova-plugin-console" />
<plugin name="cordova-plugin-device" source="npm" spec="https://github.com/apache/cordova-plugin-device"/>
<plugin name="cordova-plugin-device-orientation" source="npm" spec="https://github.com/apache/cordova-plugin-device-orientation" />
<plugin name="cordova-plugin-dialogs" source="npm" spec="https://github.com/apache/cordova-plugin-dialogs" />
<plugin name="cordova-plugin-geolocation" source="npm" spec="https://github.com/apache/cordova-plugin-geolocation" />
<plugin name="cordova-plugin-globalization" source="npm" spec="https://github.com/apache/cordova-plugin-globalization" />
<plugin name="cordova-plugin-inappbrowser" source="npm" spec="https://github.com/apache/cordova-plugin-inappbrowser" />
<plugin name="cordova-plugin-splashscreen" source="npm" spec="https://github.com/apache/cordova-plugin-splashscreen" />
<plugin name="cordova-plugin-network-information" source="npm" spec="https://github.com/apache/cordova-plugin-network-information" />
<plugin name="cordova-plugin-statusbar" source="npm" spec="https://github.com/apache/cordova-plugin-statusbar" />
<plugin name="cordova-plugin-whitelist" source="npm" spec="https://github.com/apache/cordova-plugin-whitelist" />
編輯:看來,如果我的應用程序不進入功能processRequest
EDIT2:看來,這個錯誤僅是機器人。我在Apple iPhone 6上測試過,並沒有問題。我也將我的getProducts
函數更改爲onreadystatechange
類型。它現在不鎖定應用程序,但它不加載PHP結果,直到我打開/重新打開該頁面6次。 XMLHttpRequest.readyState
屬性返回1,但不會返回2,3或4(直到6次後)。
感謝您的評論。我重新安裝了網絡信息插件,但沒有任何幫助。我的網頁工作,直到有php/xmlhttp交互。 – Brandon