微信内置浏览器form post 提交 target=“_blank” 无法工作
发布于 6 年前 作者 xiulan59 6353 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

js动态创建form表单提交为post方式,target为_blank,

当submit后,通过微信web开发工具调试器里看到是 get方式的提交。

  • 预期表现
  • 复现路径
  • 提供一个最简复现 Demo
function postOpenWindow(url, target , data){
    var inputs = [];
    var form_data = $.param(data).split('&');
    $.each(form_data, function (i, value) {
        var key_value = value.split('=');
        inputs.push(jQuery('<input>', {
            name: decodeURIComponent(key_value[0]),
            value: decodeURIComponent((key_value[1] || '').replace(/\+/g, ' ')),
            type: 'hidden'
        }));
    })
 
    var newForm = $('<form>', {
        action: url,
        target: target,
        method: 'POST'
    }).append(inputs)
    .appendTo('body');
 
    newForm.submit();
     
    if (target == '_blank') {
        newForm.detach();
    }
}
 
 
postOpenWindow('/dome/post','_blank',{a:'aaa',b:'bbb'})
回到顶部