1.serialize方法
导包:form-serialize.js
使用方法:
// 使用form-serialize 快速拿到表单元素的值
const myForm = document.querySelector('#myForm')
// 方式1
console.log(serialize(myForm))
// 返回一个查询字符串:属性名1=值1&属性名2=值2&属性名3=值3
// 适用于接口请求体类型要求为:application/x-www-form-urlencoded(查询字符串)
// 方式2
console.log(serialize(myForm, { hash: true }))
// 返回一个对象
// 适用于接口请求体类型要求为:application/JSON(对象)
2.new FormData方法
// const fd = new FormData fd.append('参数名',参数值)
// 自动收集表单中的name和value放入fd中
// 副作用:会自动将请求头修改为multipart/form-data
// 解决方法,定义一个空对象接收
// 要想拿到fd的值,需要用到forEach,该forEach不是遍历数组的,是FormData new出来的实例对象自带的放法,可以直接调用
const obj = {}
const fd = new FormData(document.querySelector('form'))
fd.forEach((item, index) => {
obj[index] = item
})
此操作过后,可以直接拿obj作为form获取的数据,用于接口发请求的参数