|
|
Postat pe 08.05.2018 16:30:39
|
|
|

FormData este o introducere detaliată și utilizare https://developer.mozilla.org/zh ... ng_FormData_Objects
Metodele și evenimentele FormData sunt deja foarte clare acolo, așa că nu voi pierde timpul cu ele aici. Acest articol explică în principal utilizarea obiectelor FormData și încărcarea asincronă a fișierelor.
Obiectul FormData ne permite să organizăm o colecție de perechi cheie-valoare trimise folosind obiectul XMLHttpRequest. Este folosit în principal pentru a trimite date de formulare, dar poate fi folosit independent de datele transferate prin formulare.
1. Creează un obiect FormData de la zero
Poți crea propriul obiect FormData și apoi poți adăuga perechi cheie-valoare la obiect prin metoda append(), astfel:
Notă: Atât câmpurile "userfile", cât și "webmasterfile" conțin fișiere. Numărul atribuit câmpului "accountnum" este convertit direct într-un șir de metodă FormData.append() (valoarea câmpului poate fi un blob, un fișier sau un șir: dacă valoarea nu este nici un blob, nici un fișier, valoarea este convertită într-un șir). Acest exemplu creează o instanță FormData cu câmpurile "username", "accountnum", "userfile" și "webmasterfile", apoi folosește metoda send() a obiectului XMLHttpRequest pentru a trimite datele formularului. Câmpul "webmasterfile" este un blob. Un obiect blob reprezintă datele brute ale unui obiect fișier. Dar datele reprezentate de blob nu trebuie să fie neapărat în formatul nativ javascript. Interfața fișierelor se bazează pe blob-uri, moștenind funcționalitatea blob-urilor și extinzând suportul pentru sistemele de fișiere ale utilizatorilor. Pentru a construi un blob, se poate chema constructorul Blob().
2. Obține un obiect FormData dintr-un formular HTML
Pentru a obține un obiect FormData care conține date de formular existente, trebuie să specifici elementul formular atunci când creezi obiectul FormData.
Aşa:
Poți adăuga și date suplimentare după ce obții obiectul FormData, cum ar fi aceasta:
Acest lucru îți permite să adaugi informații suplimentare înainte de trimitere, nu neapărat editate de utilizatori.
3. Folosiți obiectul FormData pentru a trimite fișierul
Poți folosi FormData pentru a trimite fișiere. Un <form>mijloc simplu poate <input>include un element:
Poți apoi folosi următorul cod pentru a o trimite:
Poți adăuga și un File sau un Blob direct la obiectul FormData, astfel:
Când se folosește metoda append(), un al treilea parametru poate fi folosit pentru a trimite numele fișierului (trimis serverului prin antetul Content-Disposition). Dacă al treilea parametru nu este specificat sau acest parametru nu este suportat, al treilea parametru devine implicit "blob".
Dacă setezi opțiunile corecte, le poți folosi și cu jQuery:
|
Precedent:Descarcă 103976 English Vocabulary (versiunea SQL).Următor:.net/c# testează, calculul serverului și viteza IO
|