Maison  >  Article  >  interface Web  >  Que faire si jquery ajax soumet du code tronqué

Que faire si jquery ajax soumet du code tronqué

藏色散人
藏色散人original
2021-01-07 09:52:452249parcourir

Solutions pour la soumission jquery ajax de caractères tronqués : 1. Unifiez les paramètres d'encodage ; 2. Utilisez la méthode post pour transmettre les paramètres 3. Échapper à l'encodage dans le front-end js, puis décoder en arrière-plan pour obtenir des données ; ; 4. Définissez globalement le contentType et spécifiez l'encodage.

Que faire si jquery ajax soumet du code tronqué

L'environnement d'exploitation de ce tutoriel : système Windows 7, jquery version 1.10.0, ordinateur Dell G3.

Recommandé : Tutoriel jquery

Que dois-je faire si jquery ajax soumet des données tronquées ?

Quand j'utilise jquery pour traiter des applications html5, le test sous Firefox est normal. Quand l'utilisateur y accède avec un pad, il dit qu'il y a des caractères tronqués moi-même et bien sûr, J'ai trouvé que sous les noyaux Chrome et IE, tout le monde a ce problème. Lorsque l'attribut de page est défini sur utf-8, seul Firefox transmet le fichier d'en-tête charset=utf-8. Chrome et IE ne le spécifient pas, donc des caractères tronqués apparaissent.

Solution :

Le code est le suivant :

$.ajaxSetup({
  contentType: "application/x-www-form-urlencoded; charset=utf-8"
});
$.post("test.php", { name: "i5a6", time: "2pm" },
   function(data){
     process(data);
   }, "json");

ou utiliser :

Le code est le suivant :

$.ajax({
  url:url,
  type:"POST",
  data:data,
  contentType:"application/x-www-form-urlencoded; charset=utf-8",
  dataType:"json",
  success: function(){
    ...
  }
})

Il est recommandé d'utiliser le premier, cependant, il est basé sur votre situation réelle. Certaines personnes recommandent d'utiliser encodeURIComponent pour la conversion de caractères

Résumez une certaine expérience des données soumises par ajax avec des caractères tronqués

Afin d'éviter les caractères tronqués, vous pouvez suivre les étapes suivantes

Solution

1 Gardez l'encodage unifié, y compris l'encodage des fichiers, l'encodage de la base de données, et encodage du type de contenu de la page Web

Vérifiez89fce133339e9ab023619da8f25b85c7

Il est recommandé utiliser UTF-8 pour le chinois. L'utilisation de gbk/gb2312 peut provoquer des caractères tronqués

2. Utilisez post pour envoyer au lieu de get

La méthode get transmettra les paramètres via le lien et le fera automatiquement. urlEncode (encode) et la méthode d'encodage de chaque navigateur peuvent être différentes. L'utilisation de post peut éviter cette situation.

3, en s'échappant et en codant dans le front-end js avant l'envoi, puis en décodant en arrière-plan pour obtenir les données

Celles-ci peuvent être recherchées en ligne

4, définissez le contentType globalement et spécifiez l'encodage

Parce que jquery ajax utilise utf-8 pour encoder et envoyer des données, IE n'ajoute pas charset=utf-8 lors de l'envoi, ce qui entraîne des caractères tronqués (IE utilise iso-8859- 1 encodage par défaut)

Le code est le suivant :

$.ajaxSetup({
 contentType: "application/x-www-form-urlencoded; charset=utf-8"
});

Pour plus de connaissances liées à la programmation, veuillez visiter :

Enseignement de la programmation ! !

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