formdata怎么上传json对象
时间: 2023-09-28 12:07:47 浏览: 228
ASP.NET使用Ajax返回Json对象的方法
FormData对象主要用于将表单数据编码为键值对,以便使用XMLHttpRequest或Fetch API发送数据。它并不直接支持上传JSON对象,但可以通过以下方法将JSON对象转换为FormData对象:
1.使用JSON.stringify()方法将JSON对象转换为字符串。
2.创建一个新的FormData对象。
3.使用FormData对象的append()方法添加一个新的键值对,其中键为“JSON数据”,值为JSON字符串。
示例代码:
```javascript
let jsonData = { name: "John", age: 30 };
let formData = new FormData();
formData.append("JSON数据", JSON.stringify(jsonData));
```
在将FormData对象发送到服务器之前,可以使用XMLHttpRequest或Fetch API将其转换为JSON对象。示例代码:
```javascript
// 使用Fetch API发送FormData对象
fetch('https://example.com/upload', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
// 使用XMLHttpRequest发送FormData对象
let xhr = new XMLHttpRequest();
xhr.open('POST', 'https://example.com/upload');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
let data = JSON.parse(xhr.responseText);
console.log(data);
}
};
xhr.send(formData);
```
阅读全文