關于javascript提取傳參
javascript是一種客戶端腳本語言,主要用于網頁交互和動態效果展示。在開發過程中,經常需要從URL中獲取傳參進行邏輯處理。比如我們平時在使用搜索引擎時,輸入關鍵詞后,網頁會跳轉到對應的搜索結果頁面,這個過程中就會傳遞參數(即搜索關鍵詞)給服務器端。這篇文章將介紹javascript怎樣提取URL中的參數。
我們以以下URL為例:http://www.example.com/search?keyword=javascript&page=2
在這個URL中,我們要獲取的參數是“keyword”和“page”。
第一步:獲取整個URL
首先,我們需要獲取當前頁面的URL。這可以通過window對象的location屬性實現。需要注意的是,location.href與location.toString得到的是完整的URL,而location.search只獲取URL中的參數部分。
代碼示例:
// 獲取完整的URL var url = window.location.href; // 獲取參數部分 var search = window.location.search;第二步:解析URL參數 我們從search中獲取到的參數,是以“?”作為起始符,以“&”作為分隔符的字符串,因此我們需要對它進行解析。這里我們可以直接使用javascript內置的URLSearchParams對象,也可以自己寫解析函數。
代碼示例:
// 使用URLSearchParams對象解析參數 var params = new URLSearchParams(search); var keyword = params.get('keyword'); // 獲取keyword參數 var page = params.get('page'); // 獲取page參數 // 自定義解析函數 function parseQuery(query) { var args = {}; var pairs = query.split('&'); for (var i = 0; i< pairs.length; i++) { var keyValue = pairs[i].split('='); if(keyValue.length == 2) { args[keyValue[0]] = keyValue[1]; } } return args; } var args = parseQuery(search); var keyword = args['keyword']; // 獲取keyword參數 var page = args['page']; // 獲取page參數第三步:參數可能存在為空的情況 在實際應用中,參數可能存在為空的情況。此時我們需要增加一些判斷,以避免出現異常。
代碼示例:
// 使用URLSearchParams對象解析參數 var params = new URLSearchParams(search); var keyword = params.get('keyword') || ''; var page = params.get('page') || 1; // 自定義解析函數 function parseQuery(query) { var args = {}; var pairs = query.split('&'); for (var i = 0; i< pairs.length; i++) { var keyValue = pairs[i].split('='); if(keyValue.length == 2) { args[keyValue[0]] = keyValue[1] || ''; } } return args; } var args = parseQuery(search); var keyword = args['keyword'] || ''; var page = args['page'] || 1;這樣,我們就成功地提取了URL中的參數。在實際開發中,我們可以將這個邏輯封裝成一個函數,方便多處調用。 總結 本文介紹了javascript提取URL參數的基本步驟,包括獲取URL、解析參數和判斷參數是否為空。同時,本文也向大家分享了一些實踐中的小技巧,希望能夠對大家的開發工作有所幫助。