ホームページ > ウェブフロントエンド > jsチュートリアル > js_javascriptスキルに特殊文字(,&)を渡す方法

js_javascriptスキルに特殊文字(,&)を渡す方法

WBOY
リリース: 2016-05-16 17:03:40
オリジナル
1167 人が閲覧しました

背景:

今天在做一个任务时,用Jquery的Ajax传递一长串字符时,在后台的验证一直不成功,纠结时我了(那个字符串是随机生成的,特长)。查了一上午,原来是我生成的字符串中有+号,而在js传递的时候,会理解为是连接字符用的,到了后台就将+号自动变为空格了,所以后台的字符串和前台生成的已经不一样了。

原因:

js后自动解析特殊字符,如+号为连接符,解析为空格,&为变量连接符,服务器端接受数据时&以后的数据不显示等等。

解决办法:

1、将字符放到form中,然后用js提交form表单到服务器。

2、将字符中的特殊字符替换成十六进制的字符,一些特殊字符与十六进制的对应关系:

 

+ 空格 / ? % & = #
+ / ? % & &3D #

str = str.replace(/ /g,"+"); 数値を 16 進数に置き換えます

3. 最も簡単な方法は、encodeURIComponent() 関数を使用することです。

このメソッドは、ASCII 文字と数字をエンコードしません。また、ASCII 句読点文字 - _ ~ * ' ( ) もエンコードしません。

他の文字 (:;/?:@&= $,# など、URI コンポーネントを区切るために使用される句読点) は、1 つ以上の 16 進数のエスケープ シーケンスで置き換えられます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート