日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

获取地址栏URL中参数, getQuerySting()方法

發(fā)布時間:2024/8/26 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 获取地址栏URL中参数, getQuerySting()方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天同事用的以前的獲取url地址參數(shù)獲取不到.以前的方法失效了.后面發(fā)現(xiàn)是正則表達式bug:

第一種獲取方法(針對普通情況的一般夠用):

function getQueryString(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");var reg_rewrite = new RegExp("(^|/)" + name + "/([^/]*)(/|$)", "i");var r = window.location.search.substr(1).match(reg);var q = window.location.pathname.substr(1).match(reg_rewrite);if(r != null){return unescape(r[2]);}else if(q != null){return unescape(q[2]);}else{return null;} }
第二種獲取方法:
這樣的url地址獲取不到:file:///Users/wanghong/work/ziku/youle/dist/index.html?sourceType=Tsingtao_beer_activity#/welcome?toPath=file%3A%2F%2F%2FUsers%2Fwanghong%2Fwork%2Fziku%2Fyoule%2Fdist%2Findex.html%3FsourceType%3DTsingtao_beer_activity%23%2F /*** 獲取指定的URL參數(shù)值* URL:http://www.quwan.com/index?name=tyler* 參數(shù):paramName URL參數(shù)* 調(diào)用方法:getParam("name")* 返回值:tyler*/ function getParam(paramName) {paramValue = "", isFound = !1;if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0;while (i < arrSource.length && !isFound) arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++}return paramValue == "" && (paramValue = null), paramValue }

大家都嘗試一下.元宵節(jié)快樂


3月5號后端了發(fā)現(xiàn)bug
我們的URL地址:http://localhost:8081/#/welcome?toPath=http%3A%2F%2Flocalhost%3A8081%2F%23%2F%3FsourceType%3DTsingtao_beer_activity
還是獲取不到sourceType參數(shù)
咨詢了群里的守候,,提供了getUrlPromt()了方法

function getUrlPrmt(url) {

? ? ? ? url = url ? url : window.location.href;

? ? ? ? let _pa = url.substring(url.indexOf('?') + 1), _arrS = _pa.split('&'), _rs = {};

? ? ? ? for (let i = 0, _len = _arrS.length; i < _len; i++) {

? ? ? ? ? ? let pos = _arrS[i].indexOf('=');

? ? ? ? ? ? if (pos == -1) {

? ? ? ? ? ? ? ? continue;

? ? ? ? ? ? }

? ? ? ? ? ? let name = _arrS[i].substring(0, pos), value = window.decodeURIComponent(_arrS[i].substring(pos + 1));

? ? ? ? ? ? _rs[name] = value;

? ? ? ? }

? ? ? ? return _rs;

? ? }

name我這里的方法寫法應該寫成這樣getUrlPrmt(getUrlPrmt(location.href).toPath).sourceType

?

vue中的跳轉寫法:

this.$router.push({ path: '/register', query: { sourceType: window.getUrlPrmt(window.getUrlPrmt(location.href).toPath).sourceType }

謝謝守候大牛的方法.



轉載于:https://www.cnblogs.com/luosiding/p/8494922.html

總結

以上是生活随笔為你收集整理的获取地址栏URL中参数, getQuerySting()方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。