Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

Wysłanie pliku na serwer poprzez AJAX.

Tworzenie dynamicznych stron internetowych z zastosowaniem JavaScript, jQuery, Ajax. Dowiedz się jak to zrobić, znajdź rozwiązania swoich problemów.

Wysłanie pliku na serwer poprzez AJAX.

Post 21.04.2014, 12:10:54

Da się to zrobić?

Mam pole [type=file] w formularzu, załączam odpowiedni plik, ale na submit chcę przesłać plik ajaxowo na serwer. Robie serialize() na tym formularzu. Co jest nie tak?
Dobrze że niektórzy wiedzą więcej ode mnie... bo mogą mnie tego nauczyć...
Nauka pływania - Kraków
Avatar użytkownikakunass2
Bartłomiej Semańczyk

Posty: 212
Dołączył(a): 11.03.2011
Lokalizacja: Kraków

Re: Wysłanie pliku na serwer poprzez AJAX.

Post 21.04.2014, 12:38:43

Pole input[type=file] jest polem specyficznym i serialize się nim nie zajmuje, bo znacznie komplikowałoby strukturę algorytmu serializacji. Druga sprawa, to, że dostęp do pliku oferowany jest przez File API, trzecia sprawa, że zgodnie z kierunkiem obranym przez specyfikacje, operacje na plikach (odczyt ich treści) powinien odbywać się asynchronicznie (co nie zmienia faktu, że większość przeglądarek i tak pozwala na synchroniczny odczyt pliku, ale to inna bajka).

W każdym razie, zainteresuj się obiektem FormData - https://developer.mozilla.org/en-US/doc ... I/FormData

Kod: Zaznacz cały
var fd = new FormData(referencja_na_formularz);

który przekażesz potem do ajaxowej funkcji send()

Kod: Zaznacz cały
xhr.send(fd);


niestety powyższe niezbyt współgra z jQuery, więc poszukaj jakiejś wtyczki, która pozwoli Ci całość zrobić przez jQuery.

post966144.html?hilit=FormData#p966144
post946719.html?hilit=FormData#p946719
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19590
Dołączył(a): 14.04.2002


Powrót do JavaScript


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google Adsense [Bot] i 10 gości

Hosting, Domeny, SSL

Subskrypcja

Mamy 50455 zarejestrowanych użytkowników.
Najnowszy użytkownik: MollieSa


Nasi użytkownicy napisali:

  • 935678 wiadomości
  • w 246588 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)