TwKit
正在载入
TwKit

FormData 可以把普通字段和文件放进同一份表单数据,再作为 fetch 请求的 body 发送,格式是 multipart/form-data,不必自… · @BaiBtw · TwKit

@BaiBtw

FormData 可以把普通字段和文件放进同一份表单数据,再作为 fetch 请求的 body 发送,格式是 multipart/form-data,不必自己拼接上传内容。 两种常见起点:new FormData() 建立空数据,再用 append() 逐项添加;new FormData(form) 从现有表单收集字段,发送前仍能追加内容。收集时字段要有 name,disabled 字段和被禁用的 fieldset 里的数据不会包含进来。 同名字段可以有多个值。append() 是追加,get() 只取第一个,getAll() 才返回全部;遍历键值对可以用 entries() 或直接 for...of。 值也有类型区别:File、Blob 可以作为文件内容;数字等其他值会转成字符串。例如 append("count", 3) 保存的是 "3"。追加 Blob 时,可以用第三个参数指定发送给服务器的文件名。 用 fetch 或 XMLHttpRequest 发送这类数据时,不要手动把 Content-Type 写成 multipart/form-data。浏览器还要在请求头里加上与正文匹配的 boundary,用它分隔各个字段;只写类型会缺少这部分。 需要在表单数据刚构建好时统一处理,可以监听 formdata 事件,通过 event.formData 取到数据。提交表单会触发它,调用 new FormData(form) 也会触发,不代表请求已经发出。

曝光 8 · 评论 0 · 点赞 0 · 书签 0

查看原帖