如何获取表单整体的参数名和值

本文介绍了两种将HTML表单数据序列化并发送到服务器的方法:一是使用form-serialize.js库进行序列化;二是直接利用FormData对象。前者可根据需求生成查询字符串或JSON格式的数据,后者则适用于文件上传等场景。

第一种:

1、先引入 form-serialize.js 的文件

2、使用 serialize 方法传入form标签

(1)serialize( 获取的form元素 )

  返回值是 查询字符串的格式。例如:'username=admin&password=123456'

  查询字符串在请求头中对应的Content-Type是 application/x-www-form-urlencoded 格式

(2)serialize( 获取的form元素, { hash: true } )

  返回值是 json 格式。例如:{ username: 'admin', password: '123456' }

  JSON对象在请求头中对应的Content-Typeapplication/json 格式

const form = document.querySelector('form')
            // let formobj = serialize(form)
            let formobj = serialize(form, { hash: true })
            axios({
                url: 'http://ajax-api.itheima.net/api/data',
                method: 'POST',
                data: formobj
            }).then(res => {
                console.log(res)
            }).catch(error => {
                alert('登录失败')
            })

第二种:

通过创建FormData对象

const fd = new FormData( )

返回值是 FormData对象格式

FormData对象在请求头中对应的Content-Typemultipart/form-data 格式

const form = document.querySelector('form')
            let fd = new FormData()
            let username = document.querySelector('.username').value.trim()
            let password = document.querySelector('.password').value.trim()
            fd.append('username', username)
            fd.append('password', password)
            axios({
                url: 'http://ajax-api.itheima.net/api/data',
                method: 'POST',
                data: fd
            }).then(res => {
                console.log(res)
            })
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值