zoukankan      html  css  js  c++  java
  • js_参数的get传输,从一个页面到另外一个页面。

    2017年10月31日,今天是万圣节,欢乐谷搞事情。

    刚接触前端那会是分不清,前端和后台的,后台的数据如何传输到前端的。

    现在用的还是Jquery的ajax请求后台数据到前端页面的,需要学习的地方还有很多,任重而道远也。

    前后端分离,你是如何定义的呢?我现在公司现在用的php后台语言,现在逐步转型到Java,在此记录一点点变化,用作后面追忆

    岁月的时候,可以作为回忆的印记。

    技术:

     1 <!DOCTYPE html>
     2 <html>
     3 
     4     <head>
     5         <meta charset="UTF-8">
     6         <title></title>
     7     </head>
     8 
     9     <body>
    10         <p>如果你浏览器的URL是:http://127.0.0.1:8020/web-demo/demodemo/data02.html?id=88&topId=66&artId=6868&findId=999</p>
    11     </body>
    12     <script type="text/javascript">
    13         //1.通过下面封装对方法,查询对应对参数
    14         var id = getQueryString("id");
    15         var topId = getQueryString("topId");
    16         var artId = getQueryString("artId");
    17         var findId = getQueryString("findId");
    18         //2.封装的一个函数对URL后面的参数进行查询,可以直接复制在项目中使用
    19         function getQueryString(name) {
    20             var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    21             var r = window.location.search.substr(1).match(reg);
    22             if(r != null) return unescape(r[2]);
    23             return '';
    24         };
    25         //3.在控制台打印对应对参数
    26         console.log(id); //88
    27         console.log(topId); //66
    28         console.log(artId); //6868
    29         console.log(findId); //99
    30     </script>
    31 
    32 </html>

    我们从一个页面到另外一个页面的时候,有时候需要带一个参数过去,加以区分,这个时候就需要用到URL后面把参数带过去。

    http://127.0.0.1:8020/web-demo/demodemo/data02.html?id=88&topId=66&artId=6868&findId=999
    例如上面这个链接,我们只需要在链接最后通过?xxx=&xxx=&xxx=这样的方式把参数通过URL传递到另外一个页面,注意?xxx=只能只能出现一次,后面的参数我们通过&xxx=传递;
    其中xxx为你传递的参数。
    参数带过去,我们可以通过下面的函数把它提取出来:
    1 function getQueryString(name) {
    2             var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    3             var r = window.location.search.substr(1).match(reg);
    4             if(r != null) return unescape(r[2]);
    5             return '';
    6         };
    上面这个方法只能提前数字和字母,不能提起中文。在后续传递中文的过程中,无法把参数给提取出来。经过研究,可以使用另外一种方法,既可以提取中文也可以提取英文。

     1 getQueryStringZH: function() {
     2             var url = window.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                     //就是这句的问题
     9                     theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
    10                     //之前用了unescape()
    11                     //才会出现乱码  
    12                 }
    13             }
    14             return theRequest;
    15         },

    注意你提起出来的是一个对象,需要通过提起对象的参数而获得参数。

    var getRequest = common.getQueryStringZH();

    var companyName = getRequest.companyName;



    然后你就可以在文档中,随意使用了。
     




  • 相关阅读:
    delphi Form属性设置 设置可实现窗体无最大化,并且不能拖大拖小
    学习 TTreeView [1]
    学习 TTreeView [3]
    学习官方示例
    踩方格(找规律 递推)
    踩方格(找规律 递推)
    普及组2008NOIP 排座椅(贪心+排序)
    普及组2008NOIP 排座椅(贪心+排序)
    POJ_3740 Easy Finding ——精确覆盖问题,DLX模版
    POJ_3740 Easy Finding ——精确覆盖问题,DLX模版
  • 原文地址:https://www.cnblogs.com/wush-1215/p/7763236.html
Copyright © 2011-2022 走看看