首先,给后端他所需要的参数,然后他会给我们返回一个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>