Maison  >  Article  >  développement back-end  >  Comment résoudre rapidement la demande de jQuery de transmettre des paramètres chinois tronqués

Comment résoudre rapidement la demande de jQuery de transmettre des paramètres chinois tronqués

php中世界最好的语言
php中世界最好的语言original
2018-05-28 11:04:451676parcourir

Cette fois, je vais vous montrer comment résoudre rapidement la demande de jQuery de transmettre des paramètres chinois tronqués, et comment résoudre rapidement la demande de jQuery de transmettre des paramètres chinois tronqués. Quelles sont les précautions ? Jetons un coup d'oeil.

L'exigence récente implique une requête en cascade Il est nécessaire d'interroger la liste déroulante de niveau inférieur en fonction du contenu de la liste déroulante de niveau supérieur, car il y en a. seulement deux niveaux de cascade, et le tableau sera mis à jour plus tard. Les données ne changeront presque jamais, donc le tableau que j'ai conçu stocke directement le chinois.

Le menu est le suivant :

Comment résoudre rapidement la demande de jQuery de transmettre des paramètres chinois tronqués

Le code est le suivant :

var url = "${basePath}/institutionConfig/getDepartmentByCenter.do?param=" + center;
$.get(url, function (data) {
 var list = data.data;
 for (var i = 0; i " + list[i] + "";
 }
 $("#accountDepartmentAdd").html(departmentSelector);
});

J'utilise $.get(url, callback) pour envoyer des requêtes en arrière-plan, car Les paramètres sont envoyés directement en mode GET, donc le navigateur encode les paramètres avec un encodage URL, et les paramètres obtenus en arrière-plan sont :

Comment résoudre rapidement la demande de jQuery de transmettre des paramètres chinois tronqués

Comme vous je peux voir, le paramètre est reçu. C'est du charabia. J'ai donc effectué un traitement ultérieur, c'est-à-dire un transcodage :

String center = new String(param.getBytes("iso8859-1"), "utf-8");

De cette façon, le texte reçu est en chinois.

Cependant, cette approche a en fait signalé une erreur dans l'environnement de test. Après avoir analysé la raison, j'ai découvert que l'environnement de test recevait le chinois correct, mais il s'est avéré erroné après le transcodage. Par conséquent, la solution devrait être de modifier la demande de page. Parce que les paramètres provoqués par la méthode GET sont codés, ils sont modifiés en Requête POST La requête POST soumettra les données originales :

var url = "${basePath}/institutionConfig/getDepartmentByCenter.do";
$.ajax({
  url: url,
  data: {"param": center},
  dataType: "json",
  type: "POST",
  success: function (data) {
   var list = data.data;
   for (var i = 0; i " + list[i] + "";
   }
   $("#accountDepartmentAdd").html(departmentSelector);
  }
 });

Je pense que vous maîtrisez la méthode après. en lisant le cas dans cet article, pour un contenu plus passionnant, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Comment utiliser PHP pour empêcher la soumission répétée de formulaires

Analyse des cas d'utilisation de la base de données du framework CodeIgniter

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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