angular发post命令,使用表单形式

使用方法:

const s = "CMD数据";
                    const httpHeader = {
                        headers: new HttpHeaders({'Content-Type': 'application/x-www-form-urlencoded',
                    'origin': 'http://openam.example.com:8080'})
                    };
                
                   this.httpPost(s.SSOUrl, {name: 'SAMLRequest', value: logoutCmd.CMD});

真实发送函数:这个是在当前窗口发

httpPost(URL, PARAMS) {
    const temp = document.createElement('form');
    temp.action = URL;
    temp.method = 'post';
    temp.style.display = 'none';


        const opt = document.createElement('input');
        opt.name = PARAMS.name;
        opt.value = PARAMS.value;
        temp.appendChild(opt);
    document.body.appendChild(temp);
    temp.submit();

    document.body.removeChild(temp);

}

//这个是打开新的窗口发送,不会占用当前窗口.比iframe好的是:有cookie不会被浏览器屏蔽

httpPost2(URL, PARAMS) {
    const newWin = window.open();
    const temp = newWin.document.createElement('form');
    temp.action = URL;
    temp.method = 'post';
    temp.style.display = 'none';


        const opt = newWin.document.createElement('input');
        opt.name = PARAMS.name;
        opt.value = PARAMS.value;
        temp.appendChild(opt);
        newWin.document.body.appendChild(temp);
    temp.submit();
newWin.document.removeChild(temp);

}

你可能感兴趣的:(angular发post命令,使用表单形式)