Maison  >  Article  >  interface Web  >  La fonction d'échappement résout le problème des caractères tronqués dans la transmission ajax dans les compétences js_javascript

La fonction d'échappement résout le problème des caractères tronqués dans la transmission ajax dans les compétences js_javascript

WBOY
WBOYoriginal
2016-05-16 16:32:341427parcourir

L'exemple de cet article décrit comment la fonction d'échappement résout le problème des caractères chinois tronqués dans la transmission ajax en js. Il est partagé avec tout le monde pour votre référence. La méthode spécifique est la suivante :

1. Description du problème :

À l'origine, les effets spéciaux escape() dans la page Web étaient codés en chinois selon le jeu de caractères iso-8859-1, de sorte que les paramètres de la requête puissent être obtenus directement via request.getparameter(), mais plus tard, javascript s'échappera ( ) ) a été remplacé par un codage de jeu de caractères Unicode. Par conséquent, les paramètres de la requête ne peuvent pas être obtenus directement dans le didacticiel jsp et le servlet. Je ne connais pas la raison spécifique.

2.Solution :

1. Tout d'abord, escape() encode les caractères chinois deux fois. Si vous souhaitez transmettre le nom du paramètre et que la valeur est "Bonjour", le format de l'URL est....name=escape(escape("Bonjour". ") ), de cette manière, les paramètres codés peuvent être obtenus dans request.getparameter().

2. Étant donné que les paramètres obtenus sont au format %u4f60%u597d, ils ne peuvent pas être décodés à l'aide de la fonction urldecoder.decode() classique. Heureusement, il y a suffisamment de personnes talentueuses dans le monde pour trouver une classe d'outils directement sur le fichier. Internet., peut réaliser l'encodage et le décodage de style escape() et unescape() en javascript

Copier le code Le code est le suivant :

Dans l'exemple ci-dessus, nous avons utilisé uniquement la fonction d'échappement en chinois, et la syntaxe est la suivante :

Définition et usage :

La fonction escape() encode une chaîne afin qu'elle puisse être lue sur tous les ordinateurs.
Syntaxe :

Description du paramètre escape(string)

chaîne requise. La chaîne à échapper ou à encoder.

Valeur de retour :

Une copie de la chaîne codée. Certains de ces caractères sont remplacés par des séquences d'échappement hexadécimales.

Description :

Cette méthode n'encode pas les lettres et les chiffres ASCII, ni les caractères de ponctuation ASCII suivants : - _ . Tous les autres caractères seront remplacés par des séquences d'échappement.

Conseils et remarques :

Astuce : Vous pouvez utiliser unescape() pour décoder les chaînes codées escape().
Remarque : ecmascript v3 déprécie cette méthode, les applications doivent plutôt utiliser decodeuri() et decodeuricomponent()

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn