表单的 enctype 等于 multipart/form-data,因为该值默认值为application/x-www-form-urlencoded。
FormData对象
XMLHttpRequest Level 2添加了一个新的接口FormData。利用FormData对象,我们可以通过JavaScript用一些键值对来模拟一系列表单控件,我们还可以使用XMLHttpRequest的send()方法来异步的提交这个"表单"。
var formData = new FormData();
formData.append("username", "Groucho");
formData.append("accountnum", 123456);
fetch('/users', {
method: 'POST',
body: formData
})
上面创建了一个FormData对象,通过fetch进行ajax请求时,会自动为其将其转为form-data格式,无需手动添加格式。
对象转FormData对象
对于FormDat对象,像上面那种形式可以直接添加参数比较方便,但是对于对象或者嵌套对象:
let userObj = {userName: ’xxx', age: '21'}
formData.append('user', userObj)
上面形式添加formData参数user,并不会获取到其真正的内容,而是返回userObj的Object.prototype.toString.call(userObj)的值作为user字段的值。
版权声明:本文为weixin_39520880原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。