8

'%'や'&'などの文字を含む大きな文字列をajax postを介してphpページに渡すにはどうすればよいですか?

言い換えれば、それらをjavascript-encodeし、php-decodeする方法は?

4

3 に答える 3

20

JavaScript関数を使用してencodeURIComponent()、キーまたは値のいずれかでこれらの文字をエスケープできます。

PHPはそれを受け取り、自動的に$_POST配列にデコードします。

データの形式は、クエリ文字列形式である必要があります。具体的には、次のとおりです。

Content-Type: application/x-www-form-urlencoded

例えば:

Name=Joe&Age=23&City=Altoona

encodeURIComponent()各キーと各値を使用し、それらをで結合し=、でグループ化すると&、それ以上の問題は発生しません。

于 2009-12-23T18:28:18.053 に答える
2

それらをJavaScriptでエンコードするには、encodeUriとencodeUriComponentを使用します

http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp


PHPデコード:

http://php.net/manual/en/function.urldecode.php

于 2009-12-23T18:27:34.113 に答える
1

XMLHttpRequestのsendメソッドでPOSTパラメーターを使用する場合、実際には何かをエンコードまたはデコードする必要はありません。URIフィールドを使用するため、GETのみがそのようなエンコーディングを必要とします。SQLリクエストでこのデータを使用する場合は注意が必要です。注射に注意してください。

于 2009-12-23T18:31:35.673 に答える