地址欄url中去掉所有參數


1、地址欄url中去掉所有參數,這個是純前端解決,很多時候頁面跳轉時候會選擇在url后面帶參數過去,(使用?&),方便傳也方便取,但是我們要做的是不要讓頁面的一些請求參數暴露在外面

 正常項目工程中,前端都會封裝一個公共js,里面封裝一些公用的方法,如ajax請求封裝,獲取地址欄url參數封裝;

如某個頁面獲取地址欄url參數值 Util.getParam("參數A"):

中的

var Util = {
getParam: function (paraName) {
        var search = document.location.search,
            reg = new RegExp("[?&]+" + paraName + "=([^&]+)");
        if (search && reg.test(search)) {
            return decodeURIComponent(RegExp['$1']).replace(/\+/g, " ");
        }
        return null;
    },
}

要去掉url后面帶的參數:

在這個公共的都引用的js里面添加一個放參數的方法:

function insertParam(paramStr) {
    localStorage.urlParam=paramStr;//創建了localStorage對象,並設置了urlParam的值
}

和獲取參數的方法:

  // 新的獲取參數的方式
    getParam: function (paraName) {
        var search = localStorage.urlParam;
        var reg = new RegExp("[?&]+" + paraName + "=([^&]+)");
        if (search && reg.test(search)) {
            return decodeURIComponent(RegExp['$1']).replace(/\+/g, " ");
        }
        return null;
    },

 需要跳轉頁面並傳參數的頁面跳轉事件中:

 insertParam('?reportorId='+row.id+'&index='+index); //調用Util這個公共js中的insertParam方法,設置參數,跳轉后的頁面獲取還是原來的一樣
                title="編輯信息";
                content=GLOBAL_CONFIG.webSiteRoot+'/main/editInfo.html';
                self.open(title,content,area);

 2、這樣改會造成一個不易發現的bug,就是新增和編輯如果是同一個頁面的話,先點了編輯,再新增,那么新增時候會帶有參數,所以就是要需要的地方新增操作時候清除

localStorage.urlParam中的值;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM