精华内容
参与话题
问答
  • 关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对私钥对信息(info)签名,指定算法产生签名对象,私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),公钥...
  • java 面试题 总结

    2009-09-16 08:45:34
    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会刚才请求的所有参数重新请求,所以session,request参数都可以获取。 20、EJB与JAVA BEAN的区别? Java Bean 是可复用...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对私钥对信息(info)签名,指定算法产生签名对象,私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),公钥...
  • 然后在该虚拟机上apache ab进行压力测试,结果nginx反而比不用差一些。请高手帮助解惑!!! 下面是我的测试方法和结果: [root@localhost local]# ab -n 10000 -c 1000 -H "Authorization: Digest username=...
  • 那Vue Router与location的search和hash什么关系呢? 正题 首先我们先来看一下query方式传参 路由A // 跳转到detail路由页 let query = { name: abc, age: 23 } this.$router.push({name: 'detail', query: ...
  • location.search与location.hash问题

    千次阅读 2017-09-12 08:53:39
    背景 ... 过Vue Router的童鞋应该对路由传参的方式多多少少有些印象,Vue Router支持两种传参方式:query与params;其中query方式就是动态地在路由url后面追加参数...那Vue Router与location的search和hash什么关系

    背景

    转载http://www.cnblogs.com/libin-1/p/7067813.html

    用过Vue Router的童鞋应该对路由传参的方式多多少少有些印象,Vue Router支持两种传参方式:query与params;其中query方式就是动态地在路由url后面追加参数,就是http的get请求方式;那Vue Router与location的search和hash有什么关系呢?

    正题

    首先我们先来看一下query方式传参

    路由A

    复制代码
    复制代码
    1 // 跳转到detail路由页
    2 let query = {
    3      name: abc,
    4      age: 23          
    5 }
    6 this.$router.push({name: 'detail', query: query})
    复制代码
    复制代码

    路由detail

    1 created(){
    2   // 打印query参数
    3   alert(JSON.stringify(this.$route.query))        
    4 }

    运行截图

    一切好像都没有问题,但是由于我好奇心比较强,所有就稍微手贱了一下下,把地址栏中链接的detail和query交换了一下位置,于是就出现了下面的情况,见截图

     

    感觉可能是Vue Router的问题(人家Router已经自动把query加在hash后面了,你非要交换位置,似不似傻),在日常使用Vue Router时只要我们的url不是手动把query和hash交换位置,就不会出现问题;这里真正要说的是,在传统模式开发中,如果在url中search与hash同事存在,并且你要用到这些query时,你的hash值一定要放在query后面,下面我们以百度页面演示一下

    情况一:query在hash前面

    情况二:query在hash后面

    结果证明,当query在hash后面时,连内置对象location自身都取不到query,难道你有什么好的办法吗,所有我们要避免情况二

    常用取url参数的方法(网上搜的)

    1.正则方式

    复制代码
    复制代码
     1 function GetQueryString(name)
     2 {
     3      var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
     4      var r = window.location.search.substr(1).match(reg);
     5      if(r!=null)return  unescape(r[2]); return null;
     6 }
     7  
     8 // 调用方法
     9 alert(GetQueryString("参数名1"));
    10 alert(GetQueryString("参数名2"));
    11 alert(GetQueryString("参数名3"));
    复制代码
    复制代码

    2.字符串方式

    复制代码
    复制代码
     1 function GetRequest() { 
     2   var url = location.search; //获取url中"?"符后的字串 
     3   var theRequest = new Object(); 
     4   if (url.indexOf("?") != -1) { 
     5     var str = url.substr(1); 
     6     strs = str.split("&"); 
     7     for(var i = 0; i < strs.length; i ++) { 
     8       theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); 
     9     } 
    10   } 
    11   return theRequest; 
    12 }
    13 
    14 // 调用方式
    15 var urlParams = GetRequest();
    16 urlParams["参数名称"]
    复制代码
    复制代码

     

    结语

    一个小小的发现,希望大家看完看完会有所印象,以后出现类似问题时,就知道是什么原因,该如何解决

    展开全文
  • 一般情况下,我们需要读取url参数或者hash值之类,都是通过location对象来取得的。 那为什么大家都正则表达式去匹配呢? 会不会有舍近取远的嫌疑?   要充分利用原有的资源!   function KLocation(url){ ...

    一般情况下,我们需要读取url参数或者hash值之类,都是通过location对象来取得的。

    那为什么大家都用正则表达式去匹配呢?

    会不会有舍近取远的嫌疑?

     

    要充分利用原有的资源!

     

    function KLocation(url){
        var uri = url ? url : window.location;
        if(typeof uri !== "object") throw "NOT URL OBJECT";
        var obj= {};
        for(var property in uri){
            obj[property] = uri[property];
        }
        function splitQuery(str){
            var temp = {};
            if(str && str.length > 1){
                var args = str.substring(1).split("&");
                for(var i=0,len=args.length;i<len;i++){
                    temp[args[i].split("=")[0]] = decodeURI(args[i].split("=")[1]);
                }
            }
            return temp;
        }
        obj.hash = splitQuery(obj.hash);
        obj.search = splitQuery(obj.search)
        return obj;
    }
    //href="test.html?a=test#b=1&c=2"
    //var t = KLocation();
    //alert(t.hash.b);
    //alert(t.search.a);

    貌似代码有问题,被截断了。

     

    PS:貌似代码方式不会截断代码,可视化编辑器去编辑的话会把内部函数截断了。。

    展开全文
  • 背景 过Vue Router的童鞋应该对路由传参的方式多多少少有些印象,Vue Router支持两种...那Vue Router与location的search和hash什么关系呢? 正题 首先我们先来看一下query方式传参 路由A 1 // 跳转到det...

    背景

    用过Vue Router的童鞋应该对路由传参的方式多多少少有些印象,Vue Router支持两种传参方式:query与params;其中query方式就是动态地在路由url后面追加参数,就是http的get请求方式;那Vue Router与location的search和hash有什么关系呢?

    正题

    首先我们先来看一下query方式传参

    路由A

    1 // 跳转到detail路由页
    2 let query = {
    3      name: abc,
    4      age: 23          
    5 }
    6 this.$router.push({name: 'detail', query: query})

    路由detail

    1 created(){
    2   // 打印query参数
    3   alert(JSON.stringify(this.$route.query))        
    4 }

    运行截图

    一切好像都没有问题,但是由于我好奇心比较强,所有就稍微手贱了一下下,把地址栏中链接的detail和query交换了一下位置,于是就出现了下面的情况,见截图

     

    感觉可能是Vue Router的问题(人家Router已经自动把query加在hash后面了,你非要交换位置,似不似傻),在日常使用Vue Router时只要我们的url不是手动把query和hash交换位置,就不会出现问题;这里真正要说的是,在传统模式开发中,如果在url中search与hash同事存在,并且你要用到这些query时,你的hash值一定要放在query后面,下面我们以百度页面演示一下

    情况一:query在hash前面

    情况二:query在hash后面

    结果证明,当query在hash后面时,连内置对象location自身都取不到query,难道你有什么好的办法吗,所有我们要避免情况二

    常用取url参数的方法(网上搜的)

    1.正则方式

     1 function GetQueryString(name)
     2 {
     3      var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
     4      var r = window.location.search.substr(1).match(reg);
     5      if(r!=null)return  unescape(r[2]); return null;
     6 }
     7  
     8 // 调用方法
     9 alert(GetQueryString("参数名1"));
    10 alert(GetQueryString("参数名2"));
    11 alert(GetQueryString("参数名3"));

    2.字符串方式

     1 function GetRequest() { 
     2   var url = location.search; //获取url中"?"符后的字串 
     3   var theRequest = new Object(); 
     4   if (url.indexOf("?") != -1) { 
     5     var str = url.substr(1); 
     6     strs = str.split("&"); 
     7     for(var i = 0; i < strs.length; i ++) { 
     8       theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); 
     9     } 
    10   } 
    11   return theRequest; 
    12 }
    13 
    14 // 调用方式
    15 var urlParams = GetRequest();
    16 urlParams["参数名称"]

     

    结语

    一个小小的发现,希望大家看完看完会有所印象,以后出现类似问题时,就知道是什么原因,该如何解决

     

    转载于:https://www.cnblogs.com/sampapa/p/7066488.html

    展开全文
  • 05 什么时候异常处理 06 什么是socket 07 套接字发展及分类 08 基于tcp协议的套接字编程 09 socket底层工作原理解释 10 tcp三次握手与四次挥手 第30章 01 上节课复习 02 客户端服务端循环收发消息 03 socket收发...
  • 什么是路由 前端路由 对于普通的网站,所有的超链接都是URL地址,所有的URL地址都...所以,单页面程序中的页面跳转主要用hash实现; 在单页面应用程序中,这种通过hash改变来切换页面的方式,称作前端路由(区别...

    什么是路由

    前端路由

    1. 对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源;

    2. 对于单页面应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特点:HTTP请求中不会包含hash相关的内容;所以,单页面程序中的页面跳转主要用hash实现;

    3. 在单页面应用程序中,这种通过hash改变来切换页面的方式,称作前端路由(区别于后端路由);

    后端路由
      后端路由:对于普通的网站,所有的超链接都是url地址,所有url都对应服务器上对应的资源

    路由的基础使用

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <script src="./lib/vue-2.4.0.js"></script>
      <!-- 1. 安装 vue-router 路由模块 -->
      <!-- 导入后,导航栏会出现#号,url的改变就基于此处 -->
      <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
    </head>
    
    <body>
      <div id="app">
    
        <!-- 第一种方式 -->
        <a href="#/login">登录</a>
        <a href="#/register">注册</a>
    
        <!-- 第二种方式 -->
        <!-- router-link 默认渲染为一个a 标签,tag="span"渲染为span标签 -->
        <router-link to="/login" tag="span">登录</router-link>
        <router-link to="/register">注册</router-link>
    
    
        <!-- 这是 vue-router 提供的元素,专门用来 当作占位符的,将来,路由规则,匹配到的组件,
            就会展示到这个 router-view 中去 -->
        <!-- 所以: 我们可以把 router-view 认为是一个占位符 -->
          <router-view></router-view>
      </div>
    
      <script>
        // 2. 创建一个路由对象, 当 导入 vue-router 包之后,在 window 全局对象中,就有了一个 路由的构造函数,叫做 VueRouter
        // 在 new 路由对象的时候,可以为 构造函数,传递一个配置对象
        var routerObj = new VueRouter({
          // route // 这个配置对象中的 route 表示 【路由匹配规则】 的意思
          routes: [ // 路由匹配规则 
            // 每个路由规则,都是一个对象,这个规则对象,身上,有两个必须的属性:
            //  属性1 是 path, 表示监听 哪个路由链接地址;
            //  属性2 是 component, 表示,如果 路由是前面匹配到的 path ,则展示 component 属性对应的那个组件
            // 注意: component 的属性值,必须是一个 组件的模板对象, 不能是 组件的引用名称;
            // { path: '/', component: login },
            { path: '/', redirect: '/login' }, // 这里的 redirect 和 Node 中的 redirect 完全是两码事
            { path: '/login', component: { template: '<h1>登录组件</h1>'} },
            { path: '/register', component: {  template: '<h1>注册组件</h1>'} }
          ],
          linkActiveClass: 'myactive'
        })
    
        // 创建 Vue 实例,得到 ViewModel
        var vm = new Vue({
          el: '#app',
          data: {},
          methods: {},
          router: routerObj // 将路由规则对象,注册到 vm 实例上,用来监听 URL 地址的变化,然后展示对应的组件
        });
      </script>
    </body>
    
    </html>
    

    路由规则中定义参数

    
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <script src="./lib/vue-2.4.0.js"></script>
      <script src="./lib/vue-router-3.0.1.js"></script>
    </head>
    
    <body>
      <div id="app">
    
        <!-- 如果在路由中,使用 查询字符串,给路由传递参数,则 不需要修改 路由规则的 path 属性 -->
        <router-link to="/login?id=10&name=zs">登录</router-link>
        <router-link to="/register">注册</router-link>
        <router-view></router-view>
      </div>
    
      <script>
    
        var login = {
          template: '<h1>登录 --- {{ $route.query.id }} --- {{ $route.query.name }}</h1>',
          data(){
            return {
              msg: '123'
            }
          },
          created(){ // 组件的生命周期钩子函数
            console.log(this.$route)
            console.log(this.$route.query.id)
          }
        }
        var register = {
          template: '<h1>注册</h1>'
        }
    
        var router = new VueRouter({
          routes: [
            { path: '/login', component: login },
            { path: '/register', component: register }
          ]
        })
    
        // 创建 Vue 实例,得到 ViewModel
        var vm = new Vue({
          el: '#app',
          data: {},
          methods: {},
          // router: router
          router
        });
      </script>
    </body>
    
    </html>
    

    路由的嵌套

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <script src="./lib/vue-2.4.0.js"></script>
      <script src="./lib/vue-router-3.0.1.js"></script>
    </head>
    
    <body>
      <div id="app">
        <router-link to="/account">Account</router-link>
        <router-view></router-view>
      </div>
    
    
    
      <script>
        var router = new VueRouter({
          routes: [{
            path: '/account',
            component: {
              template: `
                  <div>
                      <h1>这是 Account 组件</h1>
    
                      <router-link to="/account/login">登录</router-link>
                      <router-link to="/account/register">注册</router-link>
    
                      <router-view></router-view>
                  </div>`
            },
            // 使用 children 属性,实现子路由,同时,子路由的 path 前面,不要带 / ,否则永远以根路径开始请求,这样不方便我们用户去理解URL地址
            children:[
              {path: 'login', component: { template: '<h3>登录</h3>' }},
              { path: 'register',  component: {  template: '<h3>注册</h3>' } }
            ]
          }]
        })
    
        // 创建 Vue 实例,得到 ViewModel
        var vm = new Vue({
          el: '#app',
          data: {},
          methods: {},
          router
        });
      </script>
    </body>
    
    </html>
    

    使用路由实现经典布局

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <script src="./lib/vue-2.4.0.js"></script>
      <script src="./lib/vue-router-3.0.1.js"></script>
      <style>
        html,
        body { margin: 0; padding: 0;}
        .header {background-color: orange; height: 80px; }
        h1 {margin: 0;padding: 0; font-size: 16px;}
        .container {display: flex;height: 600px;}
        .left { background-color: lightgreen; flex: 2;}
        .main { background-color: lightpink; flex: 8; }
      </style>
    </head>
    
    <body>
      <div id="app">
        <router-view></router-view>
        <div class="container">
          <router-view name="left"></router-view>
          <router-view name="main"></router-view>
        </div>
      </div>
    
      <script>
    
        // 创建路由对象
        var router = new VueRouter({
          routes: [
            /* { path: '/', component: header },
            { path: '/left', component: leftBox },
            { path: '/main', component: mainBox } */
    
            // 相当于
            {
              path: '/',
              components: {
                default: {template: '<h1 class="header">Header头部区域</h1>'},
                'left': {template: '<h1 class="left">Left侧边栏区域</h1>'},
                'main': {template: '<h1 class="main">mainBox主体区域</h1>' }
              }
            }
          ]
        })
    
        // 创建 Vue 实例,得到 ViewModel
        var vm = new Vue({
          el: '#app',
          data: {},
          methods: {},
          router
        });
      </script>
    </body>
    
    </html>
    

    在这里插入图片描述

    展开全文
  • require 'soap/wsdlDriver' url = "http://40.1.41.52/MonitorSer/Service.asmx?wsdl" drv = SOAP::WSDLDriverFactory.new...##告诉程序我应该传递什么参数,并且hash表的key必须和webservices上提供的相同 my_pa...
  • redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会刚才请求的所有参数重新请求,所以session,request参数都可以获取。 23、EJB与JAVA BEAN的区别?  Java Bean 是可...
  • java开源包10

    热门讨论 2013-06-28 10:06:40
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • Java资源包01

    2016-08-31 09:16:25
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • 如果是html的静态页面在前端通过ajax将url传到后台签名,前端需要js获取当前页面除去'#'hash部分的链接(可用location.href.split('#')[0]获取,而且需要encodeURIComponent),因为页面一旦分享,微信客户端会在你...
  • javascript函数的解释

    2011-02-26 11:03:52
    其实就是搞清做什么,怎么做的问题,先把流程图画出来,拆解开,一个个做好了然后再合并。理论的东西我不会讲,直接举例哈! function g(o){return document.getElementById(o);} function hitover(n) { for(i=1...
  • 11..net做B/S结构的系统,您是几层结构来开发,每一层之间的关系以及为什么要这样分层? 答:一般为3层 数据访问层,业务层,表示层。 数据访问层对数据库进行增删查改。 业务层一般分为二层,业务表观层...
  • 4.1.5 过哪些Map类,都有什么区别,HashMap是线程安全的吗,并发下使用的Map是什么,他们内部原理分别是什么,比如存储方式,hashcode,扩容,默认容量等。 4.1.6 JAVA8的ConcurrentHashMap为什么放弃了分段锁,有...
  • 4.5 优化Linux内核参数/55 4.6 在不停止Nginx服务的情况下平滑变更Nginx配置/56 4.7 编写每天定时切割Nginx日志的脚本/56 第5章 Nginx与JSP、ASP.NET、Perl的安装与配置/59 5.1 Nginx与JSP(Tomcat)在Linux上的...
  • java开源包11

    热门讨论 2013-06-28 10:10:38
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • java开源包6

    热门讨论 2013-06-28 09:48:32
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • 并将其作为 url参数。</li><li>服务端接收到请求后,通过该参数获取到回调函数名,并将数据放在参数中将其返回</li><li>收到结果后因为是 script 标签,所以浏览器会当做是脚本进行运行,...
  • 黑客常用命令解析大全

    热门讨论 2011-04-13 10:25:50
    ascii 查询字符和数字ascii码(常用来对url编码以躲避ids或脚本过滤) ca 远程克隆账号 cca 检查是否有克隆账号 cgi-backdoor 几个cgi木马(十多种利用最新漏洞的web脚本后门,涵盖jsp,php,asp,cgi等等) * ...
  • java开源包101

    2016-07-13 10:11:08
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...
  • - 函数内部的参数arguments包含了传入的所有参数 - this,表示在这个函数内的作用域,以及prototype 理解匿名函数和闭包 匿名函数又叫拉姆达函数,主要是在把函数当值传递的时候,或者是...
  • uptoken, uptoken_url, uptoken_func 三个参数中必须有一个被设置 // 切如果提供了多个,其优先级为 uptoken > uptoken_url > uptoken_func // 其中 uptoken 是直接提供上传凭证,uptoken_url ...
  • java开源包1

    千次下载 热门讨论 2013-06-28 09:14:34
    往好了用什么都能干,就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、...

空空如也

1 2
收藏数 40
精华内容 16
热门标签
关键字:

url参数用什么hash