日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在js传递参数中含加号(+)的处理方式

發布時間:2023/11/30 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在js传递参数中含加号(+)的处理方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一般情況下,url中的參數應使用 url 編碼規則,即把參數字符串中除了 “ - "、" _ "?、" . "之外的所有非字母數字字符都將被替換成百分號(%)后跟兩位十六進制數,空格則編碼為加號(+)。但是對于帶有中文的參數來說,這種編碼會使編碼后的字符串變得很長。如果希望有短一點的方式對參數編碼,可以采用 base64 編碼方式對字符串進行編碼,但是 base64 編碼方式不能處理 JavaScript 中的中文,因為 JavaScript 中的中文都是以 UTF-16 方式保存的。而 base64 只能處理單字節字符,所以不能直接用 base64 對帶有中文的 JavaScript 字符串進行編碼。但是可以通過?utf.js?這個程序中提供的 utf16to8 來將 UTF-16 編碼的中文先轉化為 UTF-8 方式,然后再進行 base64 編碼。這樣編碼后的字符串,在傳遞到服務器端后可以直接通過 base64_decode 解碼成 UTF-8 的中文字符串。但是還有個問題需要注意。base64 編碼中使用了加號(+),而 + 在 URL 傳遞時會被當成空格,因此必須要將 base64 編碼后的字符串中的加號替換成 %2B 才能當作 URL 參數進行傳遞。否則在服務器端解碼后就會出錯。

所以我們需要做的就是encodeURI(str).replace(/\+/g,'%2B')

轉載于:https://www.cnblogs.com/c-y-across-I/archive/2013/06/09/3128183.html

總結

以上是生活随笔為你收集整理的在js传递参数中含加号(+)的处理方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。