js獲取url連結中的引數
url傳遞引數這是常識,這裡就不多介紹了,既然傳遞引數就要獲取引數的值,下面就介紹一下如何實現此功能。
程式碼如下:
[JavaScript] 純文字檢視 複製程式碼function request(paras){ var url="softwhy.com?a=1&b=2"; var paraString=url.substring(url.indexOf("?")+1,url.length).split("&"); var paraObj={} for(var i=0;i<paraString.length;i++){ var j=paraString[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; } } console.log(request('a')); console.log(request('b'));
以上程式碼實現了我們想要的功能,能夠輸出指定的url中引數的值,下面簡單介紹一下實現過程。
一.實現原理:
原理其實非常的簡單,一句話就是在正確的位置擷取字串,首先擷取?以後的字串,然後再使用&分割這個字串生成陣列,然後再通過擷取字串的方式,將引數名稱和引數值作為鍵值對存入物件直接量,原理大致如此。
二.程式碼註釋:
1.function request(param){},獲取引數值得函式,引數為url中的傳遞的引數名稱。
2.var url="softwhy.com?a=1&b=2",將要獲取引數的url連結地址。
3.var paraString=url.substring(url.indexOf("?")+1,url.length).split("&"),url.substring(url.indexOf("?")+1,url.length)先用這個擷取?以後的字元,然後再使用split()函式分割字串生成一個函式。
4.var paraObj={},宣告一個物件直接量。
5.for(var i=0;i<paraString.length;i++){},遍歷陣列中的每一個元素。
6.var j=paraString,將陣列中的元素賦值給j。
7.paraObj[j.substring(0,j.indexOf("=")).toLowerCase()]=j.substring(j.indexOf("=")+1,j.length),j.substring(0,j.indexOf("=")).toLowerCase()獲取的是url引數的名稱,j.substring(j.indexOf("=")+1,j.length)獲取引數值,這樣就是將引數名作為屬性名,引數值作為屬性值。
8.var returnValue=paraObj[param.toLowerCase()],指定屬性名稱的屬性值賦值給變數returnValue。
9.if(typeof(returnValue)=="undefined"){return ""},如果returnValue值為undefined,也就是說不存在,就返回空字元。
10.否則返回returnValue。
三.相關閱讀:
1.substring()函式可以參閱javascript substring()一章節。
2.indexOf()函式可以參閱javascript String indexOf()一章節。
3.split()函式可以參閱javascript split()一章節。
4.toLowerCase()函式可以參閱javascript toLowerCase()一章節。
相關文章
- js獲取url傳遞引數,js獲取url?號後面的引數JS
- js實現獲取URL引數JS
- js獲取帶#號連結後的引數JS
- 獲取url上的引數
- 獲取url中?後面傳遞的引數
- URL引數獲取/轉碼
- 三種方法實現:獲取 url 中的引數
- C#獲取URL引數值C#
- JavaScript獲取url傳遞的引數值JavaScript
- C# 解析獲取Url引數值C#
- JavaScript 獲取 url 傳遞引數值JavaScript
- keycloak~RequiredActionProvider中獲取表單認證前URL的引數UIIDE
- react獲取當前頁面的url引數React
- js解析url引數JS
- 獲取連結上的引數,返回一個Object物件 - 戴向天Object物件
- 獲取 url 並解析生成包含查詢串引數的物件物件
- 超簡潔的js獲取位址列引數JS
- SOLIDWORKS如何獲取模型中的引數Solid模型
- 使用js修改url地址引數JS
- js去除url中指定引數JS
- 從 app 開啟一個連結 www.baidu.com,如何獲取該連結的 url?APPAI
- gofiber: 獲取引數Go
- js 原生獲取 url地址引數 const query = new URLSearchParams(window.location.search); const added = query.get("added")JS
- JavaScript—獲取引數(23)JavaScript
- spring mvc中獲取請求URLSpringMVC
- 獲取URL地址
- React中的url引數——this.props.matchReact
- Laravel request 獲取路由引數Laravel路由
- HttpServletRequest獲取header引數 signHTTPServletHeader
- Spring LocalVariableTableParameterNameDiscoverer獲取方法的引數名Spring
- 如何透過AST樹去獲取JS函式引數名ASTJS函式
- JS獲取瀏覽器位址列的多個引數值的任意值JS瀏覽器
- Django裡URL配置中name引數的作用Django
- 用javascript替換URL中的引數值JavaScript
- JS實現JSON物件與URL引數的相互轉換JSON物件
- 由引數URL想到的
- jQuery接收url的引數jQuery
- Selenium 獲取複製後的連結
- python獲取命令列引數的程式碼Python命令列