[javascript]快速接收網址參數範例(get)

  • 162
  • 0

[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,以免亂碼

 

參考資料:
工作經驗