Междоменное запрос AJAX POST отлично работает на веб-браузерах, включая браузеры на мобильных телефонах, но не работает для собственных приложений созданных с использованием Phonegap
PhoneGap Междоменное AJAX POST запрос не работает на Android
Я создал форма входа в систему, которую пользователи должны ввести в свои учетные данные для входа, то они проверяются сервером, который размещен на heroku, и возвращает json {"success":true}
, если введены действительные учетные данные.
Мой Ajax скрипт:
$.ajax({
type: "POST",
url: "http://domain.com/public/auth/app-login",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
dataType: "json",
data: {identity: <username from form>, password: <password from form>},
crossDomain: true,
cache: false,
success: function(data) {
obj = JSON.parse(data);
if (obj && obj.success === true) {
window.location.href = 'home.html';
}
},
error: function(e) {
alert('Error: ' + e.message);
}
});
шаги, предпринятые для решения этой проблемы:
- Domain whitelisting - config.xml
<access origin="http://domain.com/public/auth/app-login" />
<access origin="*" />
- указал JQuery, чтобы позволить Междоменное
$.support.cors = true;
ИЛИ jQuery.support.cors = true;
- отключить кэширование
cache: false
Любая помощь приветствуется.
Привет, Не могли бы вы решить эту проблему? Можете ли вы поделиться своим решением? –
Да, я решил это. Попробуйте следующее: 1. Белые списки домена (http://docs.phonegap.com/en/2.1.0/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide), 2. используйте XmlHttpReqquest для связи с вашим сервером - см. Http : //stackoverflow.com/questions/9464563/how-do-i-call-remote-api-using-phonegap-for-android – h4kl0rd