干熟妇在线视频午夜剧场一级A级|99成人香视频日本两性激情视频|久久 午夜福利无码精品人妻一区|热久久超碰精品精品少妇一区二区|五月天综合在线国产一区免费视频|亚洲成人中心热re久久99|亚洲国产怡红院丁香五月综合h|玖玖九久久久午夜射精视频

十二年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡(luò)微信公眾號 掃一掃關(guān)注
小程序
tel-icon全國服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號
掃一掃打開百恒網(wǎng)絡(luò)微信小程序

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

Javascript查詢字符串location.search()使用方法介紹

百恒網(wǎng)絡(luò) 2013-05-17 7726

首先我們介紹location對像,location是最有用的BOM對象之一,它提供了與當(dāng)前窗口中加載的文檔有關(guān)的信息,還提供了一些導(dǎo)航功能。事實上,location對象是很特別的一個對象,因為它既是window對象的屬性,也是document對象的屬性;換句話說,window.location和document.location引用的是同一個對象。location對象的用處不只表現(xiàn)在它保存著當(dāng)前文檔的信息,還表現(xiàn)在它將URL解析為獨立的片段,讓開發(fā)人員可以通過不同的屬性訪問這些片段。南昌網(wǎng)絡(luò)公司技術(shù)人員將通過下表列出了location對象的所有屬性(注:省略了每個屬性前面的location前綴)。

屬性名 例子 說明
hash "#contents" 返回URL中的hash(#號后面跟零或多個字符),如果URL中不包含散列,則返回空字符串.
host "www.myforexfactory.net:80" 返回服務(wù)器名稱和端口號(如果有)
hostname "www.jxhb.cn" 返回不帶端口號的服務(wù)器名稱
href "http://www.myforexfactory.net" 返回當(dāng)前加載頁面的完整URL.而location對象的toString()方法也返回這個值.
pathname "/NewsList/" 返回URL中的目錄和(或文件名)
port "8080" 返回URL中的指定的端口號,如果URL中不包含端口號,則這個屬性返回空字符串
protocol "http:" 返回頁面使用的協(xié)議,通常是http:或https
search "?id=5" 返回URL的查詢字符串.這個字符串以問號開頭.


? ?雖然通過上面的屬性可以訪問到location對象的大多數(shù)信息,但其中訪問URL包含的查詢字符
串的屬性并不方便。盡管location.search返回從問號到URL末尾的所有內(nèi)容,但卻沒有辦法逐個訪問其中的每個查詢字符串參數(shù)。為此,南昌網(wǎng)站設(shè)計公司技術(shù)人員可以像下面這樣創(chuàng)建一個函數(shù),用以解析查詢字符串,然后 返回包含所有參數(shù)的一個對象:
? ?? ?function getQueryStringArgs(){
//取得查詢字符串并去掉開頭的問號
? ?? ?var qs=(location.search.length>0 ? location.search.substring (1) :"");
//保存數(shù)據(jù)的對象
? ?? ?var args=();
//取得每一項
? ?? ?varltems=qs .split(“&");
? ?? ?var item=null.
? ?? ?name=null.
? ?? ?value=null;
//逐個將每一項添加到args對象中
? ?? ?for (var i=0;i ? ?? ?item=items[i]. split(":");
? ?? ?name=decodeURIComponent (item[0]);
? ?? ?value=decodeURIComponent (item [1]);
? ?? ?args[name] =value;
? ?? ?}
? ?? ?return args;

? ?這個函數(shù)的第一步是先去掉查詢字符串開頭的問號。當(dāng)然,前提是location.search中必須要包含一或多個字符。然后,所有參數(shù)將被保存在args對象中,該對象以字面量形式創(chuàng)建。接下來,根據(jù)和號(&)來分割查詢字符串,并返回name=value格式的字符串?dāng)?shù)組。下面的for循環(huán)會迭代這個數(shù)組,然后再根據(jù)等于號分割每一項,從而返回第一項為參數(shù)名,第二項為參數(shù)值的數(shù)組。再使用decodeURIComponent()分別解碼name和value(因為查詢字符串應(yīng)該是被編碼過的)。最后,將name作為args對象的屬性,將value作為相應(yīng)屬性的值。下面給出了使用這個函數(shù)的示例:
//假設(shè)查詢字符串是?q=j avascript&num=10
? ?? ?var args=getQueryStringArgs();
? ?? ?alert(args['q"]);//“javascript“
? ?? ?alert(args["num"]);//"l0"
? ?可見,每個查詢字符串參數(shù)都成了返回對象的屬性。這樣就極大地方便了對每個參數(shù)的訪問。
? ?本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.文章出自:南昌網(wǎng)站建設(shè)公司-百恒網(wǎng)絡(luò) http://www.myforexfactory.net 如轉(zhuǎn)載請注明出處!

400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號
掃一掃打開百恒網(wǎng)絡(luò)小程序

歡迎您的光顧,我們將竭誠為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×