Phương pháp cập nhật:
Kể từ tháng 3 năm 2016, các phiên bản gần đây của Chrome và Firefox hiện hỗ trợ sử dụng FormData.entries()
để kiểm tra FormData. Nguồn .
// Create a test FormData object
var formData = new FormData();
formData.append('key1', 'value1');
formData.append('key2', 'value2');
// Display the key/value pairs
for (var pair of formData.entries()) {
console.log(pair[0]+ ', ' + pair[1]);
}
Cảm ơn Ghost Echo và rloth đã chỉ ra điều này!
Câu trả lời cũ:
Sau khi xem các bài viết trên Mozilla này , có vẻ như không có cách nào để lấy dữ liệu ra khỏi một đối tượng FormData. Bạn chỉ có thể sử dụng chúng để xây dựng FormData để gửi qua yêu cầu AJAX.
Tôi cũng vừa tìm thấy câu hỏi này nói lên điều tương tự: FormData.append ("key", "value") không hoạt động .
Một cách để giải quyết vấn đề này là xây dựng một từ điển thông thường và sau đó chuyển đổi nó thành FormData:
var myFormData = {
key1: 300,
key2: 'hello world'
};
var fd = new FormData();
for (var key in myFormData) {
console.log(key, myFormData[key]);
fd.append(key, myFormData[key]);
}
Nếu bạn muốn gỡ lỗi một đối tượng FormData đơn giản, bạn cũng có thể gửi nó để kiểm tra nó trong bảng điều khiển yêu cầu mạng:
var xhr = new XMLHttpRequest;
xhr.open('POST', '/', true);
xhr.send(fd);