Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 色偷偷亚洲偷自拍,高清一区在线,91精品国产91热久久p

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JS:獲取頁面傳參,如何指定名稱獲取?或者全都要?

          JS:獲取頁面傳參,如何指定名稱獲取?或者全都要?

          入我的主頁,查看更多JS的分享!
          我的代碼有多短,本文章就有多短!(?_?)

          1. 思路

          先獲取瀏覽器參數的字符串,判斷并轉為對象,如果沒有指定參數名,直接返回該對象。

          2. 代碼

          需要說的話都在注釋里了,先貼上代碼(好像明白了程序員為啥話不多)

          /**
           * 獲取:當前鏈接的參數
           * 若不指定參數,則以對象的形式返回全部參數
           * 若指定參數名,則只返回對應的值
           * 處理:中文解碼
           * 測試:"?id=123&name=哈哈哈"
           * 結果:{id: "123", name: "哈哈哈"}
           */
          var getLocationParam=(name)=>{
            let param=window.location.search.substr(1);
            if (!param) {
              return undefined;
            } else {
              let pArr=param.split("&");
              let res={};
              for (let i=0; i < pArr.length; i++) {
                let item=pArr[i].split("=");
                res[item[0]]=item[1] ? decodeURI(item[1]) : null;
              }
              return !name ? res: res[name];
            }
          };

          如果參數有中文,直接用"decodeURI()",而"unescape()"并不適用。(測試了QQBrowser、Chrome、IE9-11)

          運行:

          console.log(getLocationParam("id"));
          //輸出:123
          console.log(getLocationParam("name"));
          //輸出:哈哈哈
          console.log(getLocationParam("due"));
          //輸出:undefined
          console.log(getLocationParam());
          //輸出:{id: "123", name: "哈哈哈"}

          網上有一段代碼,是用正則來獲取指定的參數,雖然只能獲取指定的參數。嘛,直接貼上代碼看看吧:

          取url參數有兩種情況:

          應用場景一:內部頁面之間互相傳值
          假如要從A頁面跳轉到B頁面,

          this.$router.push({path:"/B",query:{
              Id : this.tId ,
              ...
          }})
          

          進入B頁面之后,

          this.Id=this.$route.query.Id;
          

          就能將A頁面的id傳入B頁面,進行參數獲取。

          應用場景二:外系統跳轉Vue項目時自帶參數
          例如:
          https://shq5785.blog.csdn.net/list?Id=sunhuaqiang1#/

          外系統跳轉進入的url會在Vue項目編譯后自動添加 “#/”后綴 ,其中帶的參數在 “#/”之前,所以應用場景一中的方法無法獲取,只能應用JS的方法來獲取,解析功能函數如下所示:

          getURLParams(url) {
              let param=url.split('#')[0];           //獲取#/之前的字符串
              var paramContent=param.split('?')[1];  //獲取?之后的參數字符串
              var paramsArray=paramContent.split('&');    //參數字符串分割為數組
              var paramResult={};
              //遍歷數組,拿到json對象
              paramsArray.forEach((item, index, paramsArray)=> {
          		paramResult[paramsArray[index].split('=')[0]]=paramsArray[index].split('=')[1];
              })
              return paramResult;
          }
          

          調用方式如下:

          this.getURLParams(window.location.href)

          vue-router獲取url傳參 | 《Linux就該這么學》 (linuxprobe.com)

          ue單頁面開發中路由傳參大家不陌生吧!但是有時候會出現跳轉過后帶過的參數頁面刷新五數據。

          今天我這說的是路由傳參是 對象。

          路由傳值parmas對象

          courseData參數名后面顯示的值為亂碼

          傳到頁面能獲取值 但是刷新后頁面無法看到數據 ,這里其實是因為傳過的對象必須是要對象字符串才不會出現這個問題。

          JSON.stringify把對象轉換成字符串或者也可以拼接成字符串

          跳轉該組件獲取數據

          把字符串對象解析然后獲取數據

          url里面的參數

          這樣你跳轉的頁面刷新 數據就一直存在了。

          當然這里還可以用 HTML5本地儲存數據sessionStorage,一樣可以解決這個問題。


          主站蜘蛛池模板: 精品人妻AV一区二区三区| 中日av乱码一区二区三区乱码| 无码av人妻一区二区三区四区| 亚洲av无码一区二区三区网站| 精品国产一区在线观看 | 精品国产精品久久一区免费式| 99精品高清视频一区二区| 亚洲天堂一区在线| 国产一区二区三区乱码| 国产91精品一区二区麻豆亚洲| 韩国一区二区三区| 国产麻豆剧果冻传媒一区| 91精品国产一区| 在线播放一区二区| 久久精品一区二区三区AV| 精品无码人妻一区二区免费蜜桃| 国产视频一区在线观看| 久久精品一区二区国产| 无码国产精品一区二区免费式芒果 | 日韩a无吗一区二区三区| 日韩一区二区视频| 亚洲AV无码一区二区乱子仑| 中文字幕亚洲综合精品一区| 亚洲一区二区三区四区视频| 国产韩国精品一区二区三区久久| 国产精品视频分类一区| 国产精品无码一区二区在线| 国内精品视频一区二区八戒| 一区二区精品在线观看| 国产成人精品无码一区二区三区| 国产免费一区二区三区不卡| 久久中文字幕一区二区| AA区一区二区三无码精片 | 亚洲福利一区二区| 欧美日本精品一区二区三区| 午夜AV内射一区二区三区红桃视 | 久久久久国产一区二区三区| 日本不卡一区二区视频a| 精品国产一区二区三区无码| 无码国产精品一区二区高潮| 久久久久人妻精品一区三寸蜜桃|