js頁面間參數傳遞

版權聲明:本文爲博主原創文章,未經博主容許不得轉載。javascript

1傳遞參數的頁面test01.htmhtml

<script type="text/javascript">
    function send() {
        var url = "test02.htm"; 
        var userName = "這是誰";//假設參數值爲這是誰
java

        window.open(encodeURI(url + "?userName=" + userName));瀏覽器

        //encodeURI編碼
    }
編碼

</script>
<input id="btn" onclick="send()" value="點擊" type="button" name="button"/>
url

 

2接受並顯示參數頁面test02.htmspa

<div id="show"></div>
<script type="text/javascript">
    var urlinfo = window.location.href;                                                                //獲取url
    var userName = urlinfo.split("?")[1].split("=")[1];                                        //拆分url獲得「=」號後面的值(先用split("?")[1]獲得?號之後的值,再用split("=")[1]獲得等號後面的值,split從0開始計數)
    document.getElementById("show").innerHTML = decodeURI(userName);//decodeURI解碼
firefox

</script>code

在瀏覽器中運行test01.htm  點擊按鈕,進入test02.htmhtm

ie中地址欄顯示 http://localhost:17591/網頁3-6純html/test02.htm?userName=%E8%BF%99%E6%98%AF%E8%B0%81

firefox中地址欄顯示:http://localhost:17591/%E7%BD%91%E9%A1%B53-6%E7%BA%AFhtml/test02.htm?userName=%E8%BF%99%E6%98%AF%E8%B0%81

頁面中均能顯示「你是誰」

 

 

Js中escape,unescape,encodeURI,encodeURIComponent區別:

1.傳遞參數時候使用,encodeURIComponent不然url中很容易被」#」,」?」,」&」等敏感符號隔斷。
2.url跳轉時候使用,編碼用encodeURI,解碼用decodeURI。3.escape() 只是爲0-255之外 ASCII字符 作轉換工做,轉換成的 %u**** 這樣的碼,若是要用更多的字符如 UTF-8字符庫 就必定要用 encodeURIComponent() 或 encodeURI() 轉換才能夠成 %nn%nn 這的碼才能夠,其它狀況下escape,encodeURI,encodeURIComponent編碼結果相同,因此爲了全球的統一化進程,在用 encodeURIComponent() 或 encodeURI() 代替 escape() 使用吧!

相關文章
相關標籤/搜索