#android #ajax #post #cordova
#Android #ajax #Публикация #кордова
Вопрос:
Отправка приведенного ниже запроса в моем Android-приложении phonegapp-ed работает для GET, но не для POST. С GET все работает. С POST запрос выполняется, но переменные POST не передаются на стороне сервера, и сервер возвращает ответ json, в котором говорится: «Параметры не указаны».
POST отлично работает из нашего мобильного приложения — это просто приложение phonegap, в котором у нас возникла проблема. Чего мне здесь не хватает??? Заранее спасибо за любую помощь, которую вы можете предоставить!
Я попытался изменить настройки вызова $ .ajax, манифеста Android, всего, что я могу придумать.
Кроме того, я использую Android 2.2 и Phonegap 1.0
function goTeam(){
var dataString={lat:currentLocation.lat(),lng:currentLocation.lng()}; // this all works
$.ajax({
url: 'http://example.com/request/goTeam',
data: dataString,
dataType: 'json',
success:
function(b) {
if(b.status==1){ // woo hoo! it works
} else {
// the request went through but something was wrong - this is what i'm getting with POST
}
},
type: 'post', // works with GET, doesn't work with POST
error: function(jqXHR, textStatus, errorThrown){ alert("Noooo."); }
});
Ответ №1:
Вы пытаетесь использовать междоменные запросы? Таким образом работают только запросы GET. Вы можете использовать JSONP для такого рода запросов, но работает только GET.
Комментарии:
1. Для меня это не имеет смысла, потому что оно работает на iOS, а phonegap говорит следующее: Q. Я хочу создать приложение для phonegap для доступа к внешним веб-службам через AJAX. Как я могу решить проблему с междоменной политикой безопасности XMLHttpRequest? A. Междоменная политика безопасности не влияет на приложения PhoneGap. Поскольку файлы html вызываются webkit по протоколу file://, политика безопасности не применяется. (в Android вы можете предоставить android.permission. Подключите ИНТЕРНЕТ к вашему приложению, отредактировав AndroidManifest.xml )
2. быстрое обновление: запросы ajax НЕ работают в iOS. Я думаю, мой основной вопрос заключается в том, можете ли вы использовать внешний запрос POST ajax в phonegap … документация phonegap и сайты, подобные этому, заставляют меня поверить, что я могу: community.phonegap.com/nitobi/topics/… но мои собственные усилия заставляют меня поверить в обратное! другие, должно быть, сталкивались с этой проблемой раньше…
3. @Florian Спасибо, что ответил на мой вопрос. Я голосую за вас.
Ответ №2:
Phonegap работает как с GET, так и с POST — проблемы междоменной безопасности не применяются. У нас была своеобразная ошибка в нашем коде, которая мешала ему работать. Phonegap довольно потрясающий!