使用POST方法重定向javascript页面

时间:2015-12-14 21:42:20

标签: javascript html forms post

我有一个网站,可以将用户重定向到外部主机进行付款处理。当用户根据付款处理结果返回我的网站时,我需要使用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() ;
}

1 个答案:

答案 0 :(得分:2)

在提交前将表单添加到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();

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