獲取地址欄參數亂碼的解決方法

a頁面到b頁面的時候地址欄參數會帶有一些中文或者數字的參數,

但是在b頁面獲取參數的時候會發現數字變爲字符串了。或者中文亂碼了

下面是解決辦法  queryUrl是獲取參數的方法

egg: b頁面地址爲 b.html?status=1&name=名字

    本頁面獲取的時候 需要轉義一下。數字轉化也可以使用parseInt或者parseFloat轉義一下

   var status =  queryUrl('status') -0

   var name = decodeURL(queryUrl('name'))

export function queryUrl(key) {

let name, value

let str = location.href // 取得整個地址欄

let num = str.indexOf('?')

str = str.substr(num + 1) // 取得所有參數

let arr = str.split('&') // 各個參數放到數組裏

let json = {}

for (let i = 0; i < arr.length; i++) {

num = arr[i].indexOf('=')

if (num > 0) {

name = arr[i].substring(0, num)

value = arr[i].substr(num + 1)

json[name] = value

}

}

if (!key) {

return json

}

return json[key]

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章