vue開發,在頁面中我們可以通過this.$route.query.id來獲取id值,但是在utils/index.js文件中,有時我們也需要拿到指定參數值,就不能使用路由方法了
方法一:通過location.search可以獲取到url拼接的參數(前面帶有?號)
function getUrlParams(name) { let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); let param = window.location.search.substr(1).match(reg); return param && param[2]; }
方法二
///獲取url中指定參數 // <param name="paras">參數名稱</param> /// function request(paras) { var url = location.href; var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&"); var paraObj = {} for (i = 0; j = paraString[i]; i++) { paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length); } var returnValue = paraObj[paras.toLowerCase()]; if (typeof (returnValue) == "undefined") { return ""; } else { return returnValue; } }
方法三
function getUrlVars() { var vars = {}; var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) { vars[key] = value; } ); return vars; }
使用如:
http://localhost?name=xxg
getUrlVars()["name"] 返回的值為 xxg
方法四
function GetUrlParam(paraName) { var url = document.location.toString(); var arrObj = url.split("?"); if (arrObj.length > 1) { var arrPara = arrObj[1].split("&"); var arr; for (var i = 0; i < arrPara.length; i++) { arr = arrPara[i].split("="); if (arr != null && arr[0] == paraName) { return arr[1]; } } return ""; } else { return ""; } }
調用方法:GetUrlParam(“id”);
舉例說明:
假如當網頁的網址有這樣的參數 test.htm?id=896&s=q&p=5,則調用 GetUrlParam(“p”),返回 5。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。