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()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

js
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.

filename Optional

Tên tệp được báo cáo cho máy chủ (một chuỗi), khi một Blob hoặc File được truyền làm tham số thứ hai. Tên tệp mặc định cho các đối tượng Blob là "blob". Tên tệp mặc định cho các đối tượng File là 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ụ

js
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:

js
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:

js
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:

js
formData.append("name", true);
formData.append("name", 72);
formData.getAll("name"); // ["true", "72"]

Thông số kỹ thuật

Specification
XMLHttpRequest
# dom-formdata-append

Tương thích trình duyệt

Xem thêm