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

博客里大都是转载的内容,其目的主要用户知识的组织和管理。