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() 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, trong khi append() sẽ thêm giá trị mới vào cuối tập giá trị hiện có.
Cú pháp
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. 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.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:
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:
formData.set("name", 72);
formData.get("name"); // "72"
Thông số kỹ thuật
| Specification |
|---|
| XMLHttpRequest> # dom-formdata-set> |