Я искал в архивах, но не нашел ничего, что указывало бы c на мой запрос.
В JavaScript У меня есть функция с функцией обратного вызова, которая запускает запрос в API почтового индекса для получения координат для почтового индекса.
const getPostCodeLatLng = (strPostCode, callback) => {
alert("used API"); // !!! DOESN'T ALERT ON MOBILE !!!
const request = new XMLHttpRequest();
request.addEventListener('readystatechange', () => {
if(request.readyState == 4){
const jsnPostCode=JSON.parse(request.responseText);
callback(jsnPostCode);}});
request.open('GET', 'http://api.getthedata.com/postcode/' + strPostCode);
request.send();
};
и
getPostCodeLatLng(strInputFieldValue, (jsnPostCode) => { // use the function to get data about the postcode and callback to this function
if(jsnPostCode.status=="match"){
alert("used API"); // !!! DOESN'T ALERT ON MOBILE !!!
let strPostCodeLatLng = "LatLng(" + jsnPostCode.data.latitude + ", "
+ jsnPostCode.data.longitude + ")";
setFieldswithLatLng(strPostCodeLatLng);
objDisplayFindCons.value=`Postcode: ${strInputFieldValue}`;}
else objDisplayFindCons.value=`No match found for Postcode: ${strInputFieldValue}`;})
Функции отлично работают на рабочем столе, но не работают ни на телефоне Samsung, ни на планшете. Я использую Chrome на всех устройствах.
Второй раздел кода является частью большего раздела, который отвечает на событие, когда данные вводятся в текстовое поле, проверяется как возможный почтовый индекс (с использованием регулярных выражений). ) и затем запрашивается согласно первой функции. Текстовый ответ JSON затем анализируется и проверяется, найдено ли совпадение (сервер возвращает действительный JSON для необнаруженных почтовых индексов).
Я ясно, что все работает нормально, пока не встретит вызов функции getPostCodeLatLng()
где он никогда не запускает ни одного из операторов alert("used API")
на мобильном телефоне.
Я новичок в JavaScript и считаю сложные функции и события обратного вызова кодирования, но я не вижу каких-либо очевидных ошибок / причин для этого Ошибка на мобильных устройствах.
Есть ли известные проблемы или ограничения в том, что я делаю?
Есть ли способ обойти это или эффективно отладить на мобильном?
Пожалуйста помогите!
Спасибо,
Фил