上面命令的optionObj就是第二个参数。

    HTTP 请求的方法、标头、数据体都在这个对象里面设置。下面是一些示例。

    (1)POST 请求

    1. const response = await fetch(url, {
    2. method: 'POST',
    3. headers: {
    4. "Content-type": "application/x-www-form-urlencoded; charset=UTF-8",
    5. },
    6. body: 'foo=bar&lorem=ipsum',
    7. });

    上面示例中,配置对象用到了三个属性。

    (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属性里面。