Я пытался бороться с этой проблемой весь день и искал по всему миру. Может быть, я просто не могу найти, что одну страницу с решением ... но я посмотрел на проблемы и решения, такие как:PhoneGap не выдает запрос AJAX (jsonp)
Ajax call on phonegap not sending request
JQuery mobile + Phonegap : Ajax calls not working on Android Emulator
и ни решений там похоже, решила мою проблему.
Все, что я хочу сделать, это вызов AJAX на мой удаленный сервер, загрузка нескольких параметров и загрузка некоторого контента. Этот скрипт отлично работает в браузере, но в зависимости от незначительных изменений в файле в Phonegap либо отбрасывает ошибку «тайм-аут», либо просто говорит «ошибка». Код выглядит следующим образом (конечная точка AJAX является DEV конечной точки, и я оставлю это так, вы можете попробовать поразить его, а):
<html>
<head>
<script type="text/javascript" charset="utf-8" src="jquery-1.10.2.min.js"></script>
</head>
<body>
<ul>
<div id="app-status-ul">
<li>Loaded</li>
</div>
</ul>
</body>
<script>
var serverRegHit = function(data, httpStat){
$("#app-status-ul").append('<li>Server Reg OK, HTTP status: '+httpStat+'</li>');
$("#app-status-ul").append('<li>Data Status: '+JSON.stringify(data)+'</li>');
};
var serverRegFail = function(data, httpStat){
$("#app-status-ul").append('<li>Server Reg FAIL, HTTP status: '+httpStat+'</li>');
$("#app-status-ul").append('<li>Data Status: '+JSON.stringify(data)+'</li>');
};
$.ajax({url:"http://keb.bz/gcm/?deviceid=12345",
jsonp: 'callback',
dataType: 'jsonp',
timeout: 25000,
success: serverRegHit,
error: serverRegFail});
</script>
</html>
Я попытался с помощью Cordova 2.9, и понижен до 2,5, но это, похоже, тоже не помогло.
У моего config.xml есть белый список. * И домен keb.bz, разрешения дают приложению доступ к интернету в манифесте - и я предполагаю, что это работает, потому что он может успешно получить идентификатор устройства GCM.
Я попытался использовать JSON, JSONp, TEXT и различные типы данных через AJAX, но ни один из них не имеет никакого значения.
Есть ли другой конфигурационный пункт в Кордове/PhoneGap, который мне не хватает?
Любая помощь здесь будет оценена.
Любое исключение/ошибка в консоли LogCat? Вы уверены, что библиотека jQuery успешно загружена? Сначала вы должны убедиться, что работает чистый JavaScript, а затем попытайтесь проверить, поддерживает ли jQuery. – xiaowl
JQuery загружается отлично, потому что он успешно печатает ошибку в DOM и не замечает ничего исключительного в журнале cat. – Kaiesh
Убедитесь, что ваше приложение имеет разрешение «Доступ к сети». – xiaowl