[javascript]快速接收網址參數範例(get)
一般網址吃參數的方法當然都是用get,而參數之間都是用&符號作為參數之間的分隔,這個快速參考範例除了能做到這點之外
還有將&符號改成用底線_的方式,以避免太過容易被猜到db schema,範例參考如下:
//透過網址傳參數,直接開啟資料明細
if (window.location.search && window.location.search.length > 0) {
let searchParams;
//如果有 _ 的話,就必須做 字串取代的動作
if (window.location.search.indexOf('_') > -1) {
//取代掉參數中的 _ 為 &
var tempUrl = window.location.search;
tempUrl = tempUrl.replaceAll('_', '&');
searchParams = new URLSearchParams(tempUrl);
}
else {
searchParams = new URLSearchParams(window.location.search);
}
console.log("Url參數列 ", searchParams);
let Param1 = searchParams.get('Param1');
let Param2 = searchParams.get('Param2');
let Param3 = searchParams.get('Param3');
if (Param1 && Param2 && Param3) {
YourFunction(Param1, Param2, Param3);
}
}
若是網址的參數有中文字,再額外參考小弟下面這2篇,將上面的javascript加上encodeURIComponent()以及decodeURI()即可。
[jquery][asp.net mvc]快速以javascript實做以網址傳送參數(http get),以及接收參數(支援中文)
[javascript]用get方式傳遞網頁參數時,請善用encodeURIComponent,以免亂碼
參考資料:
工作經驗