今天在调用 手机验证码验证的时候,老是出错;
仔细对比了一下我发送的数据,请求方式,通过body传递的参数,但是本地测试却一直报错,但是在postman测试却一切正常
???黑人问号
后来请教了同事才知道问题出在哪里,是数据格式的问题
我发送的是 JSON 数据
但是,后台接收的是 表单数据
so,一直失败;
区分
好了,接下来说一下怎么区分是 JSON数据 还是 表单数据
1. 接口上的不同 [postman]
JSON
表单数据
2. 浏览器上审查的时候的区别
JSON
表单数据
不同的传参方式
JSON
// 根据商户OpenId 修改账户信息
export function editAccount(openId, phone, data) {
return request({
url: `/mp/mp/finance/request/mp/` + openId, // 路径参数
method: 'patch',
params: phone, // 查询参数
data: data // body 数据
})
}
表单数据
// 1. 添加上 headers
headers: { 'Content-type': 'application/x-www-form-urlencoded' },
// 2. qs转换一下
data: qs.stringify( data )
// 验证手机验证码
export function verifyCode(data) {
return requestToazhi({
url: `/_Source/PhoneMsgHandler.ashx`,
method: 'post',
headers: { 'Content-type': 'application/x-www-form-urlencoded' },
withCredentials: true,
data: qs.stringify({ op: 'CheckPhoneCodeMsg', ...data })
})
}