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方式发送请求。