使用jQuery獲取request url中的引數
阿新 • • 發佈:2019-01-11
jquery怎麼得到request url中的引數呢?
其實很簡單,就是迴圈遍歷url,然後找到“&”這個符號:
demo1: js實現
下面是得到URL的陣列 // Read a page's GET URL variables and return them as an associative array. function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; } 1.URL如下 http://www.example.com/?me=myValue&name2=SomeOtherValue 2.我們在瀏覽器中可以看到陣列如下 { "me" : "myValue", "name2" : "SomeOtherValue" } 3.得到相應的引數的值 var first = getUrlVars()["me"]; // To get the second parameter var second = getUrlVars()["name2"];
demo2:jQuery實現
$.extend({ getUrlVars: function(){ var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; }, getUrlVar: function(name){ return $.getUrlVars()[name]; } }); 獲取相應的值的方法: // Get object of URL parameters var allVars = $.getUrlVars(); // Getting URL var by its nam var byName = $.getUrlVar('name');
demo3: 修改url中的引數
function replaceParamVal(oldUrl, paramName, replaceWith) {
var re = eval('/(' + paramName + '=)([^&]*)/gi');
var nUrl = oldUrl.replace(re, paramName + '=' + replaceWith);
return nUrl;
}