/*--獲取網(wǎng)頁(yè)傳遞的參數(shù)--*/
創(chuàng)新互聯(lián)建站提供高防服務(wù)器、云服務(wù)器、香港服務(wù)器、西云機(jī)房等
function request(paras)
{
var url = location.href;
var paraString = url.substring(url.indexOf("?")+1,url.length).split("");
var paraObj = {}
for (i=0; j=paraString[i]; i++){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if(typeof(returnValue)=="undefined"){
return "";
}else{
return returnValue;
}
}
調(diào)用這個(gè) request就可以了,這里可以調(diào)用request("ID")
1.通過FUNCTION的方式
jquery獲取url參數(shù)比較復(fù)雜,要用到正則表達(dá)式,所以學(xué)好javascript正則式多么重要的事情,首先看看單純的通過javascript是如何來獲取url中的某個(gè)參數(shù)。
function getUrlParam(name) {
//構(gòu)造一個(gè)含有目標(biāo)參數(shù)的正則表達(dá)式對(duì)象
var reg = new RegExp("(^|)" name "=([^]*)(|$)");
//匹配目標(biāo)參數(shù)
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
} else {
//返回參數(shù)值
return "";
}}
通過這個(gè)函數(shù)傳遞url中的參數(shù)名就可以獲取到參數(shù)的值。
getUrlParam(′cid′);
2.JQUERY封裝的方式
明白了 Javascript 獲取 url 參數(shù)的方法,我們可以通過這個(gè)方法為 jQuery 擴(kuò)展一個(gè)方法來通過 jQuery 獲取 url 參數(shù),下面的代碼為 jQuery 擴(kuò)展了一個(gè) getUrlParam() 方法.
(function($){
$.getUrlParam = function(name){
var reg = new RegExp("(^|)" name "=([^]*)(|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}})(jQuery);
為 jQuery 擴(kuò)展了這個(gè)方法了之后我們就可以通過如下方法來獲取某個(gè)參數(shù)的值了,代碼如下:
$.getUrlParam(′cid′);
window.location.href
平時(shí)我們?nèi)〉胠ocation的search的時(shí)候,往往都是要用location.search,然后根據(jù)取回的結(jié)果集再處理
1、先判斷第一位是否是“?”,如果是則從?開始往后面處理
2、寫程序以開始分隔,當(dāng)然得先用unescape,或者用那個(gè)urldecode(具體的名字不記得了)處理一下,把之類的處理一下
3、以=分隔,這樣才能可以取得一一對(duì)應(yīng)的值。
現(xiàn)在方便了。jQuery有這樣的插件了。。。。
先看下面的例子:
var url = location.search;
"?action=viewsection=infoid=123debugtesty[]=truetesty[]=falsetesty[]"
var section = $.query.get('section');
"info"
var id = $.query.get('id');
123
var debug = $.query.get('debug');
true
var arr = $.query.get('testy');
["true", "false", true]
var arrayElement = $.query.get('testy[1]');
"false"
var newUrl = $.query.set("section", 5).set("action", "do").toString();
"?action=dosection=5id=123"
var newQuery = "" + $.query.set('type', 'string');
"?action=viewsection=infoid=123type=string"
var oldQuery = $.query.toString();
"?action=viewsection=infoid=123"
var oldQuery2 = $.query;
?action=viewsection=infoid=123
var newerQuery = $.query.SET('type', 'string');
?action=viewsection=infoid=123type=string
var notOldQuery = $.query.toString();
"?action=viewsection=infoid=123type=string"
var oldQueryAgain = $.query.REMOVE("type");
?action=viewsection=infoid=123
var emptyQuery = $.query.empty();
""
var stillTheSame = $.query.copy();
?action=viewsection=infoid=123
使用什么插件可以達(dá)到這樣神奇的簡(jiǎn)易處理的效果呢?
其實(shí)就是query.js這個(gè)插件,地址在