запросы phonegap android ajax работают для GET, но не для POST

#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 довольно потрясающий!