Используя Cordova 8.0.0, iOS 12.1.2, пытаясь отправить запрос GET на мой сервер.
Я могу успешно отправлять запросы на сервер, но если по какой-либо причине это занимает больше 10 секундтогда это терпит неудачу.Он работает, если это занимает какое-то время меньше.
Это происходит только для меня в iOS, сборка приложения для Android не показывает такое поведение и учитывает время ожидания, которое я установил ниже.
Пример фрагмента:
$.ajax({
type: "GET",
url: actionUrl,
data: data,
cache: false,
dataType: "xml",
timeout: 300000,
async: false,
beforeSend: function (request) {
request.setRequestHeader("user", settings.userId);
request.setRequestHeader("sid", settings.sessionKey);
},
success: function (results) {
callback(results);
},
error: function (e) {
if (!surpressError){
main.ajaxError(e);
}
main.stopLoading();
if (errorCallback){
errorCallback(e);
}
}
});
Снимок экрана времени запроса
Если я наберу async: true
или просто уберу этот бит, запрос МОЖЕТ принятьболее 10 секунд, чтобы завершить, но с этим унаследованным приложением я бы предпочел не менять его больше, чем нужно, чтобы приспособить коммутатор.
Я также пытался добавить <preference name="loadUrlTimeoutValue" value="300000" />
в мой config.xml и тайм-ауты менее 1 минуты (30000), но это не помогает.
Есть ли другой способ, которым я могу гарантироватьвремя ожидания больше 10 секунд, которые я пропустил?