Не удается заставить этот вызов AJAX работать в PhoneGap

Используя PhoneGap, я пытаюсь создать базовое приложение для Android, которое вызывает AJAX-вызов PHP API и возвращает некоторые данные JSON. Код полностью работает на рабочем столе, но, кажется, он не работает для моего Android, когда я делаю сборку. Когда я создаю приложение, устанавливаю его на свое устройство и загружаю его, я получаю пустой экран.

Вот клиент, который я написал … Что-то не так с этим кодом?

<head>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.min.css" />
</head>

<body>
<script>
document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
// Now safe to use the PhoneGap API

$.support.cors = true;
$.mobile.allowCrossDomainPages = true;

$.ajax({
url: 'http://api.example.com/test.php',
dataType: 'json',
timeout: 5000,
success: function(data, status) {
//data loaded
$('#results').append(data[0].about);
},
error: function() {
//error loading data
$('#results').append('No data received.');
}
});
$(document).ajaxError(function(event, request, settings) {
$("#msg").append("<li>Error requesting page " + settings.url + "</li>");
});
$(document).ajaxComplete(function(event, request, settings) {
$("#msg").append("<li>Request Complete.</li>");
});
}
</script>
<p id="results"></p>
<p id="msg"></p>
</body>

</html>

Я также установил источник доступа в config.xml:

<access origin="http://example.com" subdomains="true" />
<access origin="*"/>

Кажется, что код AJAX (и глобальные обработчики событий AJAX) не вызывается.

0

Решение

Убедитесь, что файл cordova.js включен в нужное место и доступен (например, alert(<some cordova property>);). Затем попробуйте, если onDeviceReady вызывается вообще:

document.addEventListener("deviceready", function(){
alert("deviceready");
},false);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector