У нас реализована система RESTful от AJAX-Calls, которая отвечает на вызовы, сделанные путем вставки ссылки в адресную строку Google Chrome.
Однако, он не отвечает (тайм-аут соединения) на этот (довольно простой ?!) запрос jQuery:
$.ajax({
// type: 'GET',
url: updateAvailabilityURL + lastUpdateServerTime,
//dataType: 'jsonp',
//jsonp: 'callback',
timeout: timeOutBuffer,
success:
function(result) {
alert("success:\n" + JSON.stringify(result));
},
error:
function errorHandle(xhr,status,error) {
alert("ERROR" + "\n" +
"xhr: " + xhr.statustext + "\n" +
"status: " + status + "\n" +
"error: " + error);
},
});
AJAX-Call сделан из приложения Phonegap Android. Мы пытались использовать большие тайм-ауты, сервер все равно достаточно быстро реагирует на наши запросы на основе Chrome.
Чтобы сделать все это еще более парадоксальным, вызов jQuery / Ajax на тестовый сайт из указанного приложения Android Phonegap / Cordova работает отлично.
- (Дополнительный вопрос - меня раздражает, что мне не пришлось добавлять тест-сайт
в любых мета-тегах по соображениям безопасности это просто сработало сразу. Но
эта проблема движется в противоположном направлении, я не хочу
ограничить доступ в данный момент.)
Таким образом, этот в основном тот же запрос с измененным только URL-адресом работает следующим образом:
$.ajax({
type: 'GET',
url: "https://reqres.in/api/users?page=1",
Как узнать, как первый запрос (казалось бы) не достигает своей цели, когда сервер доступен из Google Chrome и клиент может отправлять jQuery / AJAX-Calls на любой другая цель ? Могу ли я проверить какие-либо файлы конфигурации и журналов?
- Поскольку приложение выполняется на мобильном устройстве, причиной может быть не тот IP-адрес, который заблокирован, не так ли?
- Я также попытался установить версию Cordova / Phonegap с помощью тега предпочтения, потому что я слышал, что могут быть помехи в вызовах AJAX. Тем не менее, кажется странным, что некоторые звонки работают, а другие нет.