在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ url傳遞參數(shù)中文亂碼

url傳遞參數(shù)中文亂碼

加入現(xiàn)在有兩個頁面a.html和b.html a頁面通過url ?后面添加參數(shù)使b頁面接收參數(shù)。但是url中文參數(shù)會亂碼,請問如何解決?

a.html

 <a href="b.html" id="aPage">在url里帶數(shù)據(jù)跳轉(zhuǎn)到b頁面</a>
 $(document).ready(function () {
            var data = {
                "sites": [
                    { "name": "菜鳥教程", "url": "www.runoob.com" },
                    { "name": "google", "url": "www.google.com" },
                    { "name": "微博", "url": "www.weibo.com" }
                ]
            }
            var dataUrl = JSON.stringify(data);

            $('#aPage').on('click', function () {
                $('#aPage').attr("href", "b.html?data=" + dataUrl);
            })
        });

b.html 有一個Input接收參數(shù)

<input type="text" id="getUrlData">
 $(document).ready(function() {
            //使用正則表達式獲取url中的參數(shù)
            function getUrlParam(name) {
                //構造一個含有目標參數(shù)的正則表達式對象
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
                //匹配目標參數(shù) 
                var r = window.location.search.substr(1).match(reg);  
                //返回參數(shù)值
                if (r != null) return unescape(r[2]); return null;
            }
            var urlData = getUrlParam('data');
            // 將數(shù)據(jù)填充到input框里面
            $('#getUrlData').val(urlData);
        });

b.html中的input

clipboard.png

clipboard.png

@iNahoo 非常感謝回答已經(jīng)在a.html中使用了encodeURIComponent方法

var dataUrl = encodeURIComponent(JSON.stringify(data));

現(xiàn)在url大概顯示如下

clipboard.png

Input中依然是亂碼請問如何解決,如何將3A%5B這種東西轉(zhuǎn)換成中文呢,原諒我這個小白吧 逃)
clipboard.png

回答
編輯回答
奧特蛋

HTML 的 head中添加 mate標簽 charset="utf-8" 兩個頁面都加再試試

2017年2月19日 15:01
編輯回答
鹿惑

可以使用 encodeURIComponent 將stringify后的JSON字符串轉(zhuǎn)為符合URL編碼的字符,再進行傳遞。
當然解析的時候別忘了加上 decodeURIComponent 來將編碼后的字符串轉(zhuǎn)回原字符串。

<input>中的內(nèi)容被console.log出來帶亂碼,如果你是獨立js文件的話,統(tǒng)一 .js/.html 兩個文件的編碼格式,然后在html文件中顯式的聲明同樣的編碼類型 (使用<meta>),沒有特別需求的話建議使用 utf-8,這個樓下 @QBian 也提到了。

問題描述很清晰,還帶了demo,給贊。
但是兄弟容我說一句,你百度一下的時間比你提這個問題要快十倍 (捂臉,逃)
搜一下 encodeURIComponent 肯定就能知道對應的 decodeURIComponent
等待的時間總是令人焦急的不是么?
╮(╯▽╰)╭

2017年4月11日 00:23