详说Vue中axios 表单POST提交

Vue中axios 表单POST提交

后端要求是按表单提交的形式给他数据,

这是我的原代码:

 // axios.post("/HisApi1/wxpay",{    //  '/wxpay'
        //   "bodyType": "06",     //  09就诊卡充值    06住院预交金
        //   "totalAmount": this.total,
        //   "payType": "1",
        //   "operatorId": operatorNo,
        //   "businessNo": orderId, 
        //   "payChannel": "03",
        //   "authCode": this.zhifuma,
        //   "emulateJSON":true
        // }).then((result) => {
        //   log.info('------->微信支付成功接口返回数据result',result)
        // }).catch((error) => {
        //   this.$message({
        //         message: 'his接口出错,本机暂停服务,请联系工作人员处理!',
        //         type: 'warning'
        //       })
        // })

打开控制台,报400,报错信息是:传递的参数不存在,但在请求中看的到参数,只是参数的格式是Request Payload,具体也没看懂是什么,总之知道就是参数格式不对

解决方法:

1.es6写法

import qs from 'qs';
const data = { 
           "bodyType": "06",     //  09就诊卡充值    06住院预交金
           "totalAmount": this.total,
           "payType": "1",
           "operatorId": operatorNo,
           "businessNo": orderId, 
           "payChannel": "03",
           "authCode": this.zhifuma,
           "emulateJSON":true };
const options = {
  method: 'POST',
  headers: { 'content-type': 'application/x-www-form-urlencoded' },
  data: qs.stringify(data),
  url,
};
axios(options);

  1. 使用params
 var params = new URLSearchParams()
        params.append('bodyType',"06");
        params.append('totalAmount',"0.01");   //  TODO 测试用 之后要改过来
        params.append('payType',"1");
        params.append('operatorId',operatorNo);
        params.append('businessNo',orderId);
        params.append("payChannel","03");
        params.append('authCode',this.zhifuma);

        axios.post("/HisApi1/wxpay",params)
        .then((result) => {
          log.info('------> zhiixng ')
           log.info('------->微信支付成功接口返回数据result',result)
        }).catch((error) => {
           log.info('------->微信支付失败接口返回数据error',error)
        })
      

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值