專案中的頁面跳轉後獲取url引數的問題,因為是抽取出來的放到獨立頁面上的模組,貌似沒辦法用 angular 本身自帶的 $stateparams 來獲取跳轉攜帶引數,只能通過當前頁面的url獲取,window.location.href 。
專案中支援通話列表**內容單項雙擊跳轉開啟新頁面,後來抽出獨立頁面也支援了url位址列直接輸入介面跟引數直接跳轉,引數也有中文情況,傳輸中文時遇到了點小問題:前台底層獲取的url的中文是亂碼。
開始以為是後台請求介面時,中文引數轉碼有問題,前台是有封裝乙個獲取並整理url引數到乙個物件的方法的,輸出後的物件中對應中文的屬性值完全是亂碼,怎麼辦呢?解吧,decodeuri,沒解開。後來看封裝好的獲取引數整理成乙個物件的方法時,發現了問題,居然將獲取的值進行了兩次轉碼,好坑呀~
這裡記錄一下前台解析url整理成物件的方法。
//首先獲取到當前頁面的位址列資訊
var url =window.location.href;
console.log(url);
var obj ={};
var reg = /\?/;
if(url.match(reg))
}}console.log(obj);
最後儲存物件屬性時,可以不對 name 進行轉碼,因為一般 name 都為 key 值,通過使用 key 來獲得其對應的 value ,所以 value 的值才是廣泛的多樣的,會有中文值的可能,但是估計不會有後台將 key 值也存成中文,誰見過鍵值對中 key 是用中文來使用的?
2021-03-29
包裝成方法及優化,避免相關 obj 被汙染,可以使用閉包
functionhandleparamsfnc();
var readytoget = false
;
return
function
(attr) );
readytoget = true
; }
return
args[attr];
}}
var getvaluebyattr =handleparamsfnc();
console.log(getvaluebyattr('name'));
console.log(getvaluebyattr('age'));
js 獲取 url 中文引數
在網上看了一篇文章,有這樣的 把url中傳遞的引數放在乙個字典中作為返回值。function getrequest if url.indexof 1 return therequest 用著不錯,感謝貢獻者。不過我在判斷引數是否等於乙個中文值的時候遇到了問題。在chrome中除錯,發現原來的引數是 ...
JS獲取當前 指定URL引數
首先通過 document.location 獲得當前訪問網頁的 其次用 split 方法通過 把 分為兩部分。如果 中有引數 arrobj.length 1 再用 split 方法通過 把每個引數分開 接著用 for 迴圈檢查引數中是否有與要找的引數相同引數 如果有,則返回引數的值 如果沒有,繼續...
JS獲取當前網頁url的引數
function getqueryvariable variable var query window.location.search.substring 1 var vars query.split for var i 0 i例項 呼叫getqueryvariable id 返回 1。呼叫getq...