ajax post caractères spéciaux
-
21-09-2019 - |
Question
Comment puis-je passer une grande chaîne contenant des caractères comme « % » et « & » à ma page php par la poste ajax?
En d'autres termes comment les javascript-encode et les php-decode?
La solution
la encodeURIComponent()
fonction JavaScript peut être utilisé pour échapper à l'un de ces personnages soit les touches ou les valeurs.
PHP recevoir et décoder automatiquement dans le tableau de $_POST
.
Le format des données doit être format chaîne de requête, en particulier:
Content-Type: application/x-www-form-urlencoded
Par exemple:
Name=Joe&Age=23&City=Altoona
Si vous utilisez encodeURIComponent()
sur chaque touche et chaque valeur, puis de les joindre à =
, et les regrouper par &
, vous n'avez d'autres questions.
Autres conseils
Pour les coder en JavaScript, utilisez encodeURI et encodeURIComponent
http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp
PHP Decode:
Vous n'avez pas réellement besoin d'encoder ou décoder quelque chose, si vous utilisez le paramètre POST dans la méthode d'envoi de XMLHttpRequest. Seuls GET besoins tels et l'encodage, car il utilise champ URI. Vous devez être prudent lors de l'utilisation de ces données dans les requêtes SQL. Méfiez-vous des injections.