fetch 使用 form data 方式提交

import queryString from 'query-string';

fetch 参数如下,
1.需要设置content-type application/x-www-form-urlencoded
2.body 进行param 转化为a=1&b=2 的形式
则提交到服务端的内容与post内容相同

  headers: {
                "Content-Type": "application/x-www-form-urlencoded"
            }, 
            method: "POST",
            body: queryString.stringify(data)

参考文档https://stackoverflow.com/questions/29775797/fetch-post-json-data

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: form-data 是一种 HTTP 请求体的格式,通常用于上传文件或提交表单数据。可以使用多种编程语言和框架来构建 form-data 请求,以下是一个示例: ```python import requests url = "http://example.com/upload" files = {'file': open('example.txt', 'rb')} data = {'title': 'Example Title'} response = requests.post(url, files=files, data=data) print(response.text) ``` 在上面的示例中,我们使用了 Python 的 requests 库来发送一个 POST 请求,其中包含一个文件和一个表单数据字段。`files` 参数是一个字典,包含文件名和文件对象。`data` 参数也是一个字典,包含表单数据字段和对应的值。这些参数将被编码为 form-data 格式,并作为请求体发送到服务器上。 ### 回答2: form-data是一种常见的数据传输格式,通常用于在HTTP请求中发送表单数据。下面是form-data传输的步骤: 1. 首先,需要创建一个包含表单数据的FormData对象,可以使用JavaScript提供的FormData构造函数来创建。例如: ```javascript var formData = new FormData(); ``` 2. 接下来,可以使用FormData对象的append()方法来添加表单字段和对应的值。语法为: ```javascript formData.append(name, value); ``` 其中,name代表表单字段的名称,value代表表单字段的值。可以多次调用append()方法来添加多个字段。 3. 如果要传输文件,可以使用FormData对象的append()方法来添加文件。在这种情况下,value参数接受一个文件对象作为值。例如: ```javascript formData.append('file', file); ``` 其中,'file'是表单字段的名称,file是一个文件对象,可以通过input元素的files属性获取。 4. 一旦FormData对象完成了数据的填充,可以通过XMLHttpRequest或Fetch API来发送这个FormData对象。例如使用XMLHttpRequest发送请求的示例代码如下: ```javascript var xhr = new XMLHttpRequest(); xhr.open('POST', 'http://example.com/upload', true); xhr.onload = function() { // 处理响应数据 }; xhr.send(formData); ``` 在上述代码中,将FormData对象作为send()方法的参数来发送请求。 总之,使用form-data传输数据时,需要创建FormData对象,并通过append()方法来添加表单字段和文件。最后,使用XMLHttpRequest或Fetch API来发送这个FormData对象。 ### 回答3: form-data 是一种常用的传输数据的方式,常用于向服务器上传文件或者提交表单数据。使用 form-data 传输数据时,我们可以通过以下步骤来完成传输: 1. 创建一个表单对象 FormData,可以使用 JavaScript 中的 FormData() 构造函数来创建。FormData 对象可以用来进行文件上传以及字段的键值对提交。 2. 使用 append() 方法向 FormData 对象中添加字段。可以通过 append() 方法来添加键值对数据,键为字段的名称,值为字段的值。例如: ```javascript const formData = new FormData(); formData.append('name', 'John'); ``` 3. 如果需要上传文件,可以使用 append() 方法来添加文件字段,将文件对象作为参数传递给 append() 方法即可。例如: ```javascript const fileInput = document.querySelector('input[type="file"]'); formData.append('file', fileInput.files[0]); ``` 4. 使用 XMLHttpRequest 或者 Fetch API 将 FormData 对象发送到服务器。可以使用 XMLHttpRequest 发起请求,并将 FormData 对象作为 send() 方法的参数传递给它。也可以使用 Fetch API 的方式,传递 FormData 对象作为 fetch() 方法的参数。例如: ```javascript const xhr = new XMLHttpRequest(); xhr.open('POST', 'http://example.com/upload'); xhr.send(formData); ``` 综上所述,通过创建 FormData 对象,使用 append() 方法添加字段和文件,然后使用 XMLHttpRequest 或 Fetch API 发送 FormData 对象到服务器,就可以完成 form-data 的传输。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值