Maison > Article > interface Web > Que faire si jquery ajax soumet du code tronqué
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.
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 WebVérifiez89fce133339e9ab023619da8f25b85c7Il est recommandé utiliser UTF-8 pour le chinois. L'utilisation de gbk/gb2312 peut provoquer des caractères tronqués2. Utilisez post pour envoyer au lieu de getLa 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'encodageParce 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!