首先,给后端他所需要的参数,然后他会给我们返回一个form,form是这样的

  //跳转支付页面
    goLinkPayment(name){

      // if(this.peopleImg === ''){
      //   this.$message.error('请先上传图片')
      //   return
      // }
      let str ={
        amount:this.Cookies.get('price'),//总金额(单位是分)
        body:this.body, //商品描述
        examId: this.Cookies.get('examid'),//考试id
        payType:this.payType,//支付类型=1(说明是支付宝支付)
        payWay:this.payWay,//支付方式 =1,说明是电脑支付
        subject:this.Cookies.get('examName'),//订单名称
        userId:this.Cookies.get('userId'),//用户id
      }
      this.$api.exam.gopayFun(str).then(res=>{
        if (res.data.code === 0) {
          this.datadorm = res.data.data.form;  //从后端拿到form
debugger
          //打开支付页面
          const div = document.createElement('div') // 创建div
          div.innerHTML = this.datadorm // 将返回的form 放入div
          document.body.appendChild(div)
          document.forms[0].submit()

          // this.Cookies.set('datadorm',this.datadorm)
          //  this.$router.push({
          //   name:name,
          //   // query:this.datadorm
          // })
        }
      })
    },

我这边是重新写的页面,然后再方法里面,获取支付模板

初始化方法

mounted() {
    this.getalopay()
  },
  //获取支付模板
    getalopay(){
      this.datadorm = this.Cookies.get('datadorm')
      // document.getElementById('html_body').innerHTML = res;
      const div = document.createElement('div') // 创建div
      div.innerHTML = this.datadorm // 将返回的form 放入div
      document.body.appendChild(div)
      document.forms[0].submit()
    },

在html里面直接·

<div id="html_body"></div>

 

Logo

前往低代码交流专区

更多推荐