Очень простая веб-страница, содержащая xmlhttprequest, работает во всех браузерах на всех устройствах, включая телефон Android, а также в браузере BlueStacks.
Пробовал несколько вариантов длины контента, типа контента и т. Д.
Отлично работает во всех браузерах.
Не работает при компиляции в Android APK с использованием PhoneGap online (установлен как «member»).
Веб-страница содержит код и кнопку для вызова функции sayHi:
const url =“ReturnHi";
function testXMLHttp() {
try {
var result = "Sorry...not complete"; var result = "Sorry...not complete";
var returnValue = "";
var request = new XMLHttpRequest();
var params = "";
request.open("POST", url, false);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.onreadystatechange = function () {//Call a function when the state changes.
if (request.readyState == 4 && request.status == 200) {
returnValue = request.responseText;
alert("response: " + request.responseText);
result = returnValue;
return result;
}
}
request.send(params);
return result;
} catch (e) {
alert("Error on test " + e.Message);
}
}
function sayHi() {
var result = testXMLHttp();
alert("In sayHi " + result);
}
PhoneGap config.xml равен
<?xml version="1.0" encoding="UTF-8" ?>
<widget xmlns = "http://www.w3.org/ns/widgets"
xmlns:gap = "http://phonegap.com/ns/1.0"
id = "com.dalcotech.member"
versionCode = "17"
version = "1.0.0" >
<!-- versionCode is optional and Android only -->
<name>Member</name>
<description>
Member Android package
</description>
<author>
F Dale
</author>
<access origin="*" />
<platform name="android" />
<preference name="android-minSdkVersion" value="16" />
<preference name="android-targetSdkVersion" value="28" />
</widget>
Ожидаемый результат - должен вернуть:
response: <?xml version="1.0" encoding="utf-8"?>
<anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d1p1:type="q1:string" xmlns:d1p1="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">Email sent to fred.dal@outlook.com</anyType>
При выполнении в качестве приложения для Android:
Он не доходит до веб-службы (я добавил код в функцию веб-службы для отправки мне электронного письма при получении запроса)
Возвращает "Извините ... не завершено", значение по умолчанию для результата var.