FormData: phương thức set()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2018.

Note: This feature is available in Web Workers.

Phương thức set() của giao diện FormData đặt một giá trị mới cho một khóa hiện có bên trong đối tượng FormData, hoặc thêm cặp khóa/giá trị 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, trong khi append() sẽ thêm giá trị mới vào cuối tập giá trị hiện có.

Cú pháp

js
set(name, value)
set(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.set("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.set("user-pic", myFileInput.files[0], "chris.jpg");

Nếu giá trị không phải là chuỗi hoặc Blob, set() sẽ tự động chuyển nó thành chuỗi:

js
formData.set("name", 72);
formData.get("name"); // "72"

Thông số kỹ thuật

Specification
XMLHttpRequest
# dom-formdata-set

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

Xem thêm