前端打开单点登录的页面(post方式)

前端小菜鸟一名,用的框架多把form表单能够提交数据都给忘了哈哈,记录一下

这里是原本自己一个系统,然后通过调用自己系统的后台获取到打开另一个系统页面所需的参数(token那些),将这堆参数通过post请求的方式发送给另一个系统的单点登录接口,另一个系统进行验证和重定向,这样就可以免登陆进入另一个系统的页面。

而通过post请求的方式发送给另一个系统的单点登录接口,就是用form表单进行发送,下面是主要代码

// 第一个参数是另一个系统的单点登录接口
// 第二个参数是请求的方式
// 第三个参数是携带的参数,是一个对象
// 第四个参数是参数的格式,不填或者空字符串表示使用默认的application/x-www-form-urlencoded
// 第五个参数是打开页面的方式,不填表示在当前标签打开,‘_blank’表示在新标签中打开
function openPage(url, method, params, enctype, target) {
            const dynamicForm = document.createElement('form')
            dynamicForm.setAttribute('method', method)
            dynamicForm.setAttribute('action', url)
            if (enctype && enctype !== '') {
                dynamicForm.setAttribute('enctype', enctype)
            }
            if (target) {
                dynamicForm.setAttribute('target', target)
            }
            for (let paramName in params) {
                let input = document.createElement('input')
                input.setAttribute('type', 'hidden')
                input.setAttribute('name', paramName)
                input.setAttribute('value', params[paramName])
                dynamicForm.appendChild(input)
            }
            document.body.appendChild(dynamicForm)
            dynamicForm.submit()
            document.body.removeChild(dynamicForm)
        }

// 调用的例子
openPage('www.abc.com/xxx', 'post', {redirect_uri:'xxxx',session_token:'xxx'}, 'application/json', '_blank')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值