JavaScript解析url引數
阿新 • • 發佈:2018-12-19
最近在寫個需要分頁數的網頁,覺得要每頁寫對應頁數的內容太麻煩,想通過向後臺傳入不同的引數以獲取不同的資料,翻了翻書最後用url的引數傳給後臺,順便寫了這篇部落格。
上面這段連結看起來很長,貼上到網址上其實就是在百度中搜索123的頁面,而這個其實就對於著?後面的wd=123,在很多網址中我們經常會看到像這樣的一串內容,其實就是在?後面通過&作為分隔符傳入多個引數,並通過解析這些引數在伺服器獲取不同資料,渲染出不同的頁面,要達到這種效果,首先我們要會解析這些引數。
程式碼如下
// 獲取url引數 function locationExtract(classify) {//傳入要找的引數名 let url=window.location.search; if (url == "" || url.indexOf('=') < 0) return;//當url後面沒有引數時直接return結束 if (url.indexOf('&') < 0) { if (url.slice(1).split('=')[0] == classify) { return url.slice(1).split('=')[1]; //當url後面只有一個引數時沒加&分隔符,此時只需判斷第一個是否為自己要找的引數 } } let par = url.slice(1).split('&');//去掉?後以&為分隔符分隔引數 for (let index = 0; index < par.length; index++) { let indexClass = par[index].split('='); if (indexClass[0] == classify) return indexClass[1]; } }
封裝以上方法後在上面的連結的控制檯中輸入locationExtract('wd')即可得到'123'。
這只是這次寫的小demo用到的方法,應該還有很多好的方法,希望各位大神不吝賜教,也希望這篇文章對大家有所幫助。