支付宝是接收form表单提交数据,所以在vue使用UI的情况下,只能自己模拟创建一个form表单提交数据给后台。
let formData = new FormData()
formData.append("accountId", this.userId)
formData.append("internetTacticsId", this.internetTacticsId)
formData.append("money", this.money)
formData.append("paytype", this.paytype)
let config = {
headers: {
'Content-Type': 'multipart/form-data'
}
} //这个为请求的头部,以免后台无法处理当前的媒体格式
this.postAxios('/pay.do?', formData, config)
.then(res => {
document.querySelector('body').innerHTML = res //查找到当前页面的body,将后台返回的form替换掉他的内容
document.forms[0].submit() //执行submit表单提交,让页面重定向,跳转到支付宝页面
})
.catch(function(error) {
console.log(error)
})