摘要:基本概念編碼不能直接使用需要編碼領杉果紅包,享更多優惠點擊領取問題的由來就是網址只要上網就一定會用到只有字母和數字一些特殊符號以及某些保留字才可以不經過編碼直接用于這意味著如果中有漢字就必須編碼后使用但是麻煩的是沒有規定具體的編碼方
基本概念
1.encodeComponent編碼url,url不能直接使用,需要編碼
var rlt = "http://service.weibo.com/share/share.php?"; var url = "http://www.baidu.com"; var params = { appkey: "379570494", title: "領杉果紅包,享更多優惠!點擊領取:", url: url }; for (var i in params) { rlt += i + "=" + params[i] + "&"; } for (var i in params) { rlt += i + "=" + encodeURIComponent(params[i]) + "&"; } console.log(rlt);問題的由來
1.URL就是網址,只要上網,就一定會用到.
只有字母和數字[0-9a-zA-Z],一些特殊符號$-_.+!*"(),以及某些保留字,才可以不經過編碼直接用于URL.
2.這意味著,如果URL中有漢字,就必須編碼后使用,但是麻煩的是,RFC1738沒有規定具體的編碼方法,
而是交給應用程序(瀏覽器)自己決定,這導致"URL編碼"成為了一個混亂的領域.
3.包括:ajax請求url地址,瀏覽器上直接用get或post發出http請求,網址路徑中包含漢字,查詢字符串包含漢字.
4.使用js先對URL編碼,然后再向服務器提交,不給瀏覽器插手的機會,
因為js的輸出總是一致的,所以就保證了服務器得到的數據是格式統一的.
escape()不能直接用于URL編碼,他的真正作用是返回一個字符串的Unicode編碼值.
encodeURI和decodeURI1.encodeURI()是js中真正用來對URL編碼的函數
2.它著眼于對整個URL進行編碼,因此除了常見的符號以外,對其他一些在網址中有特殊含義的符號;/?:@&=+$,#也不進行編碼,
編碼后,它輸出符號的utf-8形式,并且在每個字節前加上%
與encodeURI()的區別是,它用于對URL的組成部分進行個別編碼,而不用于對整個URL進行編碼.
因此,;/?:@&=+$,#這些在encodeURI()中不被編碼的符號,在encodeURIComponent中統統會被編碼.
var test = "http://www.baidu.com/my app?search=a&b=3#2哈哈"; var test1 = encodeURIComponent(test); var test2 = encodeURI(test); console.log(test); // http://www.baidu.com console.log(test1); // http%3A%2F%2Fwww.baidu.com%2Fmy%20app%3Fsearch%3Da%26b%3D3%232%E5%93%88%E5%93%88,瀏覽器無法解析這個地址 console.log(test2); // http://www.baidu.com/my%20app?search=a&b=3#2%E5%93%88%E5%93%88,瀏覽器無法解析這個地址 var test3 = decodeURIComponent(test1); var test4 = decodeURI(test2); console.log(test3); console.log(test4); var test5 = escape(test); var test6 = unescape(test5); console.log(test5); // http%3A//www.baidu.com/my%20app%3Fsearch%3Da%26b%3D3%232%u54C8%u54C8 console.log(test6); // http://www.baidu.com/my app?search=a&b=3#2哈哈
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84387.html
摘要:它的具體規則是,除了字母數字標點符號以外,對其他所有字符進行編碼。對應的解碼函數是。其次,不對編碼。與的區別是,它用于對的組成部分進行個別編碼,而不用于對整個進行編碼。因此,,這些在中不被編碼的符號,在中統統會被編碼。 Javascript語言用于編碼的函數,一共有三個,最古老的一個就是escape()。雖然這個函數現在已經不提倡使用了,但是由于歷史原因,很多地方還在使用它,所以有必要...
摘要:微信小程序開發官方文檔,正在開發的小程序的源碼,都給了我不少啟發到小程序上富文本的解析一個優秀的開源項目微信小程序富文本解析組件作用在于解析你論壇上的帖子內容,你論壇上加粗的文字,加了顏色的文字,圖片等等,都可以原原本本的展示在小程序中。 關于這個小程序 Github : https://github.com/DowneyL/di...‘ 這個小程序是公司針對一個自家產品的需求,而這個...
摘要:最近在看揭秘,于是寫了文章來作筆記,除此以外還會補充一些自己遇到的筆試題。舉例說明以上的代碼有什么問題呢如果需要改變字號,那么同時需要調整行高。那么經過修改后的代碼如下關于使用還是還是百分比,需要根據具體情況來決定。 最近在看《css揭秘》,于是寫了文章來作筆記,除此以外還會補充一些自己遇到的筆試題。希望大家都有所收獲。 css編碼技巧 盡量減少代碼重復 在實踐中,代碼可維護性的最大要...
摘要:是中定義字體的規則。首先,在使用時,在下沒有問題,但是在下提示未能完成嵌入權限檢查。訪問,將編碼轉換為文件,這里命名為。保存并瀏覽器刷新后,中不再提示錯誤。@font-face是css3中定義字體的規則。 首先,在使用weui時,在Chrome、Firefox下沒有問題,但是在IE下提示“font-face 未能完成 OpenType 嵌入權限檢查。權限必須是可安裝的&rdquo...
摘要:在近幾年迅速咋程序界掀起了不小的波瀾,而關于的第三庫也使廣大程序員趨之若鶩,今天我們就由淺入深的探討一下如何使用做一個網絡爬蟲來抓取一些頁面信息。 Python在近幾年迅速咋程序界掀起了不小的波瀾,而關于python的第三庫也使廣大程序員趨之若鶩,今天我們就由淺入深的探討一下如何使用python做一個網絡爬蟲來抓取一些頁面信息。今天我們使用的庫(包含python自身攜帶的庫和第三庫) ...
閱讀 1067·2021-11-23 09:51
閱讀 2412·2021-09-29 09:34
閱讀 3149·2019-08-30 14:20
閱讀 1044·2019-08-29 14:14
閱讀 3182·2019-08-29 13:46
閱讀 1076·2019-08-26 13:54
閱讀 1633·2019-08-26 13:32
閱讀 1426·2019-08-26 12:23