window.location.href是我们常用来在js中实现页面跳转的方法,这是使用get方式发送请求,示例如下
window.location.href = url;
优点是简单易用,缺点是如果有参数的话,参数会暴露在url地址中,这降低了系统的安全性,也影响用户体验。下面我们来讲下如何通过POST请求实现页面跳转。
//发送POST请求跳转到指定页面function httpPost(URL, PARAMS) {var temp = document.createElement("form");temp.action = URL;temp.method = "post";temp.style.display = "none";for (var x in PARAMS) {var opt = document.createElement("textarea");opt.name = x;opt.value = PARAMS[x];temp.appendChild(opt);}document.body.appendChild(temp);temp.submit();return temp;}
上面这段代码就是通过虚拟表单的形式提交post请求,从而实现页面的跳转,示例如下
function toMonitorCompanyList(groupName,riskLevel,updateStatus,province,eventLevel,reportId,riskStatus){var params = {"groupName": encodeURIComponent(groupName),"riskLevel": riskLevel,"updateStatus": updateStatus,"province": encodeURIComponent(province),"eventLevel": eventLevel,"reportId": reportId,"riskStatus":riskStatus};httpPost(ctx + "/monitorCompany/toMonitorCompanyList", params);}
使用POST方式发送请求可以传输的参数,在实际运用过程中可以根据具体的需求选择GET方式或POST方式发送请求。