开发支付宝支付,现在由后端返回的是一串html代码,也就是form表单,我展示的方式是
先开一个新得浏览器窗口,再将这段代码写入,具体如下:
const newTab = window.open();
const div = document.createElement('div');
div.innerHTML = res.data;
newTab.document.body.appendChild(div);
newTab.document.forms[0].submit();
但是这种就会出现验签失败现象;
经过排查,是由于支付宝支付的一个参数subject中有中文,发现我传过去的参数是经过gb2312编码,但是支付宝解码是utf-8解码,所以会出现中文乱码报错的现象!!!!
但是,在新开的页面加上“<meta http-equiv="Content-Type" content="text/html; charset=utf-8">”也是没用的。
而且我在原有的页面上加上那段form代码执行就不会报错,会按照utf-8编码,但是用window.open()新开页面就会报错。
请各位大神帮帮忙,谢谢!!!!