国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js中傳遞特殊字符(+,&)的方法

2019-11-20 21:14:30
字體:
來源:轉載
供稿:網友

背景:

今天在做一個任務時,用Jquery的Ajax傳遞一長串字符時,在后臺的驗證一直不成功,糾結時我了(那個字符串是隨機生成的,特長)。查了一上午,原來是我生成的字符串中有+號,而在js傳遞的時候,會理解為是連接字符用的,到了后臺就將+號自動變為空格了,所以后臺的字符串和前臺生成的已經不一樣了。

原因:

js后自動解析特殊字符,如+號為連接符,解析為空格,&為變量連接符,服務器端接受數據時&以后的數據不顯示等等。

解決辦法:

1、將字符放到form中,然后用js提交form表單到服務器。

2、將字符中的特殊字符替換成十六進制的字符,一些特殊字符與十六進制的對應關系:

 

+空格/?%&=#
%2B%20%2F%3F%25%26&3D%23

str = str.replace(//+/g,"%2B"); 將+號替換為十六進制 

3、最簡單的一種,使用encodeURIComponent()函數。  

  該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ' ( ) 。

其他字符(比如 :;/?:@&=+$,# 這些用于分隔 URI 組件的標點符號),都是由一個或多個十六進制的轉義序列替換的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝应县| 马边| 镇远县| 响水县| 杭州市| 泾源县| 通城县| 子长县| 江山市| 阜新| 义马市| 元谋县| 鹤岗市| 平原县| 普定县| 通化市| 长岛县| 武平县| 南召县| 富蕴县| 岳阳市| 建平县| 南岸区| 海林市| 南宁市| 清水河县| 渭源县| 禹州市| 北流市| 万山特区| 平乡县| 来凤县| 大姚县| 陆良县| 凭祥市| 洱源县| 同江市| 玉溪市| 桃园市| 芜湖县| 都匀市|