JS实现使用POST方式发送请求

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。