Я пытался отправить запрос AJAX более суток через приложение Android PhoneGap под управлением последней версии 1.5.0 PhoneGap.Я пробовал GET, POST, AJAX, getJSON-запрос из пакета стенд jQuery (не jQuery Mobile).Все это работает в стандартном браузере, но из приложения ничего не работает.
Вот мой последний код JJuery AJAX
$.get(
'http://www.fakedomainname.com/ajax/user_login.php',
$('#emailLoginForm').serialize(),
function(json) {
//console.log(json);
alert(json.status);
},
'json'
);
Вот мой PHP-код
header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']);
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
$output['status'] = 99; //new user
echo json_encode($output);
Я добавил clearCache в свой AndroidManifest.xml
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.clearCache();
super.loadUrl("file:///android_asset/www/index.html");
}
Я добавил это в /res/xml/cordova.xml
<access origin=".*"/>
Что еще мне не хватает?Я не могу получить запрос GET jQuery для успешного оповещения чего-либо?Я убедился, что кэш очищен.Я внес белый список в междоменный вопрос в заголовке моего php-файла и в файле cordova.xml.Я потерян, кто-нибудь успешно создал вызов AJAX с новым PhoneGap 1.5.0?
Ошибка была моей ошибкой.URL-адрес, который я нажимал, также включал функцию, которая проверяла, является ли пользовательский агент мобильным устройством.Если это так, он перенаправит вызов на мобильную версию домена / сайта, который я запрашивал.В результате мое значение json никогда не возвращалось.Я удалил функцию проверки мобильного устройства, и все мои настройки выше работали отлично.