往往单点登录和一些表单回显涉及到操作页面的URL。这里为了是第三方访问我司的项目时自动回显查询条件,因此需要在浏览器url处追加一些参数,然后再从URL中取出相关属性用于表单的回显和接口的请求。如下:
-
追加参数
var url_p = window.location.origin+window.location.pathname+'?campusId=2&managerid=B716B90DEC4A57F5&keyword=111111&starttime=2020-03-10 00:00:00&endtime=2020-03-10 23:00:00' // window.location.href = url_p //不可行,参数会循环重复 // 方法1:向当前url添加参数,没有历史记录 // window.history.replaceState({ // path: url_p // }, '', url_p); // 方法2 window.history.pushState(null,null,url_p)
-
获取url中属性
var regCampus = /campusId=(.*?)&/
var regManagerId = /managerid=(.*?)&/
var regUserId = /keyword=(.*?)&/
var regStartTime = /starttime=(.*?)&/
var regEndTime = /endtime=(.*)/
// var campusId = regCampus.exec(window.location.search)[1]
// var managerId = regManagerId.exec(window.location.search)[1]
var userId = regUserId.exec(window.location.search)[1]
var startTime = decodeURI(regStartTime.exec(window.location.search)[1])
var endTime = decodeURI(regEndTime.exec(window.location.search)[1])
console.log('1111', startTime+'~'+endTime)
// class为trajectory-query-time的表单回显
$(".trajectory-query-time").html(startTime+'~'+endTime)
// ID为trajectory-userid的表单回显
$("#trajectory-userid").val(userId)
效果: