使用POST方法重定向javascript页面



我有一个网站,可以将用户重定向到外部主机进行支付处理。当用户根据付款处理的结果返回到我的网站时,我需要使用POST方法将用户重定向到最终网页,以便完成他们的订单。下面的代码适用于Chrome和Opera浏览器。在Firefox和IE浏览器上,它会失败,用户最终会得到一个空白页面。我需要修改什么才能在所有浏览器上工作?

var cSecurem = 'https://www.website.com/';
function gotofinalpage(p1,p2) { 
    setLoginCookie('secure');
    var cURL = cSecurem + 'bh/finalpage.r?param1=' + p1 + '&param2=' + p2;
    var myForm = document.createElement("form");
    myForm.method="post" ;
    myForm.action = cURL ;
    myForm.submit() ;
}

在提交前将表单添加到dom并重试请:

document.body.appendChild(myForm)

编辑:也许你应该尝试内联dom操作。假设您有一个id为formDiv:的空div

var el = document.getElementById("formDiv");
el.innerHTML = '<form id="myForm" action="https://www.website.com/bh/finalpage.r" method="post">' +
'<input type="hidden" name="param1" value="' + p1 + '">' +
'<input type="hidden" name="param2" value="' + p2 + '">' +
'</form>';
document.getElementById("myForm").submit();

注意:不要忘记在文档就绪事件中运行此代码。否则,某些浏览器可能会失败。

最新更新