对于前端来说,就是调用后台提供的一个接口,后台会返回支付宝支付的一个form表单,我们只要在vue里面创建新节点,将返回的form表单append进去,并提交就可以唤起支付宝支付。
async aliPayFn(data) {
const sentData = {
// 存放接口所需的数据
};
const res = await aliPay(sentData);
let div = document.querySelector("#payDiv");
// 如果页面已经存在payDiv,则只要修改payDiv的innerHTML就可以了,否则提交的表单永远是第一个表单。
if (!div) {
div = document.createElement('div');
div.id = "payDiv";
document.body.appendChild(div);
}
div.innerHTML = res;
document.forms[0].submit();
// 如果页面上有其他form,则使用以下方式提交form
// document.querySelector("#payDiv>form").submit();
}