FormData: phương thức append()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
Phương thức append() của giao diện FormData thêm một giá trị mới vào sau một khóa hiện có bên trong đối tượng FormData, hoặc thêm khóa đó nếu nó chưa tồn tại.
Sự khác biệt giữa set() và append() là nếu khóa được chỉ định đã tồn tại, set() sẽ ghi đè tất cả các giá trị hiện có bằng giá trị mới, còn append() sẽ thêm giá trị mới vào cuối tập giá trị hiện có.
Cú pháp
append(name, value)
append(name, value, filename)
Tham số
name-
Tên của trường có dữ liệu nằm trong
value. value-
Giá trị của trường. Giá trị này có thể là một chuỗi hoặc
Blob(bao gồm các lớp con nhưFile). Nếu không chỉ định các kiểu này, giá trị sẽ được chuyển thành chuỗi. filenameOptional-
Tên tệp được báo cáo cho máy chủ (một chuỗi), khi một
BlobhoặcFileđược truyền làm tham số thứ hai. Tên tệp mặc định cho các đối tượngBloblà "blob". Tên tệp mặc định cho các đối tượngFilelà tên tệp của chính file đó.
Note:
Nếu bạn chỉ định một Blob làm dữ liệu để thêm vào đối tượng FormData, tên tệp được báo cáo cho máy chủ trong header "Content-Disposition" sẽ khác nhau giữa các trình duyệt.
Giá trị trả về
Không có (undefined).
Ví dụ
formData.append("username", "Chris");
Khi giá trị là một Blob (hoặc File), bạn có thể chỉ định tên của nó bằng tham số filename:
formData.append("user-pic", myFileInput.files[0], "chris.jpg");
Cũng như dữ liệu biểu mẫu thông thường, bạn có thể thêm nhiều giá trị với cùng một tên:
formData.append("user-pic", myFileInput.files[0], "chris1.jpg");
formData.append("user-pic", myFileInput.files[1], "chris2.jpg");
Nếu giá trị không phải là chuỗi hoặc Blob, append() sẽ tự động chuyển nó thành chuỗi:
formData.append("name", true);
formData.append("name", 72);
formData.getAll("name"); // ["true", "72"]
Thông số kỹ thuật
| Specification |
|---|
| XMLHttpRequest> # dom-formdata-append> |