Maison  >  Article  >  interface Web  >  Comment résoudre le code chinois tronqué soumis par JQuery ajaxSubmit

Comment résoudre le code chinois tronqué soumis par JQuery ajaxSubmit

亚连
亚连original
2018-05-25 09:47:452649parcourir

Cet article partagera avec vous la solution au problème de la soumission tronquée du chinois dans jquery ajax submit. Les amis intéressés peuvent me suivre pour apprendre

La plupart des gens utilisent

.
jQuery(form).ajaxSubmit({ 
url: "ajaxsub.aspx?abc=test",
type: "post", 
dataType: "json", 
success: data
});

Analyse : la soumission AJAX de JQuery encodera les données à soumettre et utilisera encodeURIComponent pour traiter les données en js. Par conséquent, qu'il s'agisse de Firefox ou d'IE, les données soumises sont cohérentes et sont des données codées en UTF-8.

En regardant l'en-tête, nous avons constaté qu'il y a une différence dans le type de contenu dans l'entité

Dans Firefox, le type de contenu spécifie le jeu de caractères comme utf-8 .

Cependant, il n'y a pas de spécification de jeu de caractères dans IE

Évidemment, par défaut, le codage des caractères de la soumission asynchrone d'AJAX doit être cohérent avec la page Web elle-même. aucun jeu de caractères côté serveur. Il s'avère que lorsque le jeu de caractères affiché est spécifié, gb2312 est utilisé pour décoder les données (mais les données ont été codées en UTF-8 avant la soumission). C'est la cause première des caractères tronqués sous IE. , alors que sous Firefox, le navigateur soumet Lorsque les données AJAX sont fournies, la spécification d'affichage du jeu de caractères est ajoutée, obligeant le serveur à utiliser UTF-8 pour décoder les données (décodage correct).

Vérifiez la description de la fonction de l'outil AJAX de JQuery et constatez qu'il existe un paramètre spécifiant le type de contenu dans les options

Vous devez donc spécifier le type d'encodage lors de la soumission

contentType: "application/x-www-form-urlencoded; charset=utf-8",

C'est le suivant

jQuery(form).ajaxSubmit({ 
url: "ajaxsub.aspx?abc=test", 
type: "post", 
dataType: "json", 
contentType: "application/x-www-form-urlencoded; charset=utf-8", 
success: data
});

Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère que cela vous sera utile à l'avenir.

Articles connexes :

Comment résoudre les caractères chinois tronqués lorsque JQuery ajax renvoie json

Comment utiliser ajax dans Django méthode de publication du framework

Explication détaillée d'ajax + jtemplate pour implémenter la pagination dynamique

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