上面命令的optionObj
就是第二个参数。
HTTP 请求的方法、标头、数据体都在这个对象里面设置。下面是一些示例。
(1)POST 请求
const response = await fetch(url, {
method: 'POST',
headers: {
"Content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
body: 'foo=bar&lorem=ipsum',
});
上面示例中,配置对象用到了三个属性。
(2)提交 JSON 数据
上面示例中,标头Content-Type
要设成'application/json;charset=utf-8'
。因为默认发送的是纯文本,Content-Type
的默认值是'text/plain;charset=UTF-8'
。
(3)提交表单
(4)文件上传
另一种方法是用脚本添加文件,构造出一个表单,进行上传,请看下面的例子。
上传二进制文件时,不用修改标头的Content-Type
,浏览器会自动设置。
(5)直接上传二进制数据
fetch()
也可以直接上传二进制数据,将 Blob 或 arrayBuffer 数据放在body
属性里面。