打开新的窗口(非标签页)并实现POST发送

=============================================

以下是自动生成form的URL

===============================================

/**

* フォーム自動送信URLを作成

* @Author yunsheng.ma

* @CreateDate 2026/03/17

* @param {String} actionUrl 送信先URL

* @param {Object} formData  送信データ

* @return {String} BlobURL

*/

function createAutoSubmitFormBlobUrl(actionUrl, formData) {

    var html =

        '<form id="autoSubmitForm" method="post" action="' + actionUrl + '" >' +

        Object.entries(formData).map(function(item) {

            var key = item[0];

            var val = item[1];

            return '<input type="hidden" name="' + key + '" value="' + val + '">';

        }).join('') +

        '</form>'

        '<script>' +

        'var form = document.getElementById("autoSubmitForm");' +

        'form.submit();' +

        'setTimeout(function(){ window.close(); }, 300);' +

        '<\/script>'

    var blob = new Blob([html], { type: 'text/html;charset=UTF-8'});

    var blobUrl = URL.createObjectURL(blob);

    return blobUrl;

}

=============================================

以下用window.open打开一个新的窗口并调用URL逻辑生成函数

===============================================

var data ={

      parm1: 'value1',

      parm2: 'value2'

};

// URL生成

var blobUrl = createAutoSubmitFormBlobUrl(urlinfo, data);

// ウィンドウを開いて実行

if (!(popupWinHandler == null || popupWinHandler.closed)) {

      popupWinHandler.close();

}

popupWinHandler = window.open(

    blobUrl,

    "_blank",

    "status=yes,toolbar=yes,alwaysRaised=yes,left=0,top=0,scrollbars=yes,resizable=yes",

    true

);

popupWinHandler.addEventListener('load',function(){

  URL.revokeObjectURL(blobUrl);

});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容