Dwa zapytania ajax w jednym = pusty call

0

Cześć wszystkim,

var formdata = new FormData();
                                formdata.append('file', blob);
                                $.ajax({
                                    url: "strona1.php",
                                    type: 'POST',
                                    data: formdata,
                                    success: function (data) {
                                    console.log(data);
                                    var audioRsp = $(data).text();
                                    alert(audioRsp);
                                    $.ajax({
                                       url: "strona2.php",
                                       type: 'POST',
                                       data: audioRsp,
                                       success: function(data){
                                        console.log("poszło");
                                        console.log(audioRsp);
                                         var messagesContainerOther = $(".messages");
                                          messagesContainerOther.append(
                                              data                 
                                          );
                                          messagesContainerOther.finish().animate(
                                              {
                                                  scrollTop: messagesContainerOther.prop("scrollHeight")
                                              },
                                              250
                                          );
                                       }
                                    });
                                    var msg = data;
                                     var messagesContainerOther = $(".messages");
                                      messagesContainerOther.append(
                                          data
                                      );
                                      messagesContainerOther.finish().animate(
                                          {
                                              scrollTop: messagesContainerOther.prop("scrollHeight")
                                          },
                                          250
                                      );
                                    },
                                    cache: false,
                                    contentType: false,
                                    processData: false
                                });

Z pierwszego wywołania dostaję poprawną zwrotkę <li id="response">Jakiś tam text</li> Przed drugim wywołaniem wyciągam ze znaczników "Jakiś tam text" i to właśnie chće wysłać, ale niestety w logach aplikacji widzę, że idzie puste wywołanie.

Dlaczego? :(

Dziękuję za pomoc :)

0

W pierwszym requeście wysyłasz obiekt FormData, jquery ustala "Content-Type: multipart/form-data", w drugim wysyłasz czystego stringa, jquery wysyła to jako "Content-Type: application/x-www-form-urlencoded;". Czy Twoja aplikacja nie oczekuje, że obu przypadkach będzie to multipart/form-data?

0

Cześć,
Dziękuję za odpowiedź !

Widzę już pewien trop :) Odpowiadając na pytanie, moja aplikacja jest oczekuje w pierwszym ajaxie formData co by się zgadzało, ale po drugiego oczekuje jsona i tu będzie problem zapewne ;)

0

Zmieniłem content type na text/plain w drugim ajaxie nie podziałało, na application/json i również bez efektu.

0

Dziękuję za pomoc ;) Temat rozwiązany :)

Dla poszukujących pomocy:
W drugim Ajaxie należy zamienić:
data: pytanie,

na

data: {name: pytanie},

i w PHP przejmować POSTEM 'name'. Dziękuję dobranoc, w razie pytań zapraszam :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1