收藏
回答

微信内置浏览器form post 提交 target=“_blank” 无法工作

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小程序 Bug iOS ios 12.0 iphone 7 6.7.2

- 当前 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'})


最后一次编辑于  2018-09-28
回答关注问题邀请回答
收藏