zoukankan      html  css  js  c++  java
  • 地址栏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中的值;
  • 相关阅读:
    qml----动画入门(六、简单的动画实现 SpringAnimation类)
    qml----动画入门(五、简单的动画实现 SmoothedAnimation类)
    qml----动画入门(四、简单的动画实现 PathAnimation类)
    qml----动画入门(三、简单的动画实现 RotationAnimation类)
    SSRS连接ORACLE数据库制作报表
    JavaScript Number 对象
    Django--filter()-字段查找(双下划线的使用详解)
    Django--filter(**kwargs)
    Django--QuerySet--基础查询
    python 内置函数
  • 原文地址:https://www.cnblogs.com/wmqiang/p/11142797.html
Copyright © 2011-2022 走看看