


Solution au problème de la transmission Ajax des caractères chinois tronqués
Cet article présente principalement les informations pertinentes sur la solution au problème de la transmission Ajax des caractères tronqués chinois. Il est très bon et a la valeur de référence et d'apprentissage de l'ajax. pouvez vous référer à cet article
AJAX = Asynchrone JavaScript et XML (JavaScript asynchrone et XML).
AJAX n'est pas un nouveau langage de programmation mais une nouvelle façon d'utiliser les standards existants.
AJAX est l'art d'échanger des données avec un serveur et de mettre à jour des parties d'une page Web sans recharger la page entière.
atransmission jax chinois brouillé description du problème :
Je suis A jsp a un bouton de sauvegarde. Lorsque vous cliquez dessus, la fonction js de saveForm() sera déclenchée. Après vérification dans la fonction saveForm(), la demande de données sera envoyée via ajax, de sorte qu'il n'est pas nécessaire de soumettre le formulaire à. transmettre des données. Estimations Ajax C'est l'avantage. Je ne connais pas très bien Ajax pour le moment.
Code Ajax lors de la transmission de caractères tronqués :
function saveForm(){ if(document.theformadd.onsubmit()){ disableAllBtn(true); j$.ajax({ type:"get", url:"add_form_do.jsp", data:{ problem_id : j$("#problem_id").val(), product_id : "<%=product_id%>", productId : j$("#productId").val(), depart_id : j$("#depart_id").val(), fk_busi_id : j$("#fk_busi_id").val(), fk_type : j$("#fk_type").val(), fk_source : j$("#fk_source").val(), fk_info : j$("#fk_info").val(), fk_name : j$("#fk_name").val(), fk_bank_name : j$("#fk_bank_name").val(), fk_bank_acct : j$("#fk_bank_acct").val(), sk_name : j$("#sk_name").val(), sk_bank_name : j$("#sk_bank_name").val(), sk_bank_acct : j$("#sk_bank_acct").val(), fk_money : j$("#fk_money").val(), fk_summary : j$("#fk_summary").val(), fk_date : j$("#fk_date").val(), input_man : "<%=input_operatorCode%>" }, success:function(ret){ if(ret == 1) { sl_alert("保存成功!"); }else{ sl_alert(ret); } window.returnValue=true; window.close(); } }); } }
Ensuite, nous add_form_do.jsp Obtenez des données
<%@ page contentType="text/html; charset=GBK" import="java.math.*,com.enfo.intrust.intrust.vo.*,java.io.*, com.enfo.intrust.web.*,java.util.*,com.enfo.intrust.dao.*,com.enfo.intrust.intrust.*,com.enfo.intrust.tools.*,com.enfo.intrust.project.*" %> <script type="text/javascript" src="<%=request.getContextPath()%>/ext2.0/ext-base.js"></script> <script type="text/javascript" src="<%=request.getContextPath()%>/ext2.0/ext-all.js"></script> <%@ include file="/includes/operator.inc" %> <% try{ product_id = Utility.parseInt(Utility.trimNull(request.getParameter("product_id")),product_id); UnpostwarrantLocal local = EJBFactory.getUnpostwarrant(); Integer problem_id = Utility.parseInt(request.getParameter("problem_id"),new Integer(0)); Integer depart_id = Utility.parseInt(request.getParameter("depart_id"),new Integer(0)); //部门 Integer productId = Utility.parseInt(Utility.trimNull(request.getParameter("productId")),product_id); String fk_busi_id = Utility.trimNull(request.getParameter("fk_busi_id")); //字典1206 费用 String fk_type = Utility.trimNull(request.getParameter("fk_type")); //付款方式 2103 String fk_source = Utility.trimNull(request.getParameter("fk_source")); //付款依据 2104 String fk_info = Utility.trimNull(request.getParameter("fk_info")); //票据号码 String fk_name = Utility.trimNull(request.getParameter("fk_name")); //付款单位 String fk_bank_name = Utility.trimNull(request.getParameter("fk_bank_name")); //付款银行名称 String fk_bank_acct = Utility.trimNull(request.getParameter("fk_bank_acct")); //付款银行账号 String sk_name = Utility.trimNull(request.getParameter("sk_name")); //收款单位 String sk_bank_name = Utility.trimNull(request.getParameter("sk_bank_name")); //收款银行名称 String sk_bank_acct = Utility.trimNull(request.getParameter("sk_bank_acct")); //收款银行账号 BigDecimal fk_money = Utility.parseDecimal(Utility.trimNull(request.getParameter("fk_money")).replaceAll(",",""),new BigDecimal(0)); //金额 String fk_summary = Utility.trimNull(request.getParameter("fk_summary")); //备注 Integer fk_date = Utility.parseInt(request.getParameter("fk_date"),new Integer(Utility.getCurrentDate())); //要求付款日期 local.setProblem_id(problem_id); //local.setProduct_id(product_id); local.setProduct_id(productId); local.setDepart_id(depart_id); local.setFk_busi_id(fk_busi_id); local.setFk_type(fk_type); local.setFk_source(fk_source); local.setFk_info(fk_info); local.setFk_name(fk_name); local.setFk_bank_name(fk_bank_name); local.setFk_bank_acct(fk_bank_acct); local.setSk_name(sk_name); local.setSk_bank_name(sk_bank_name); local.setSk_bank_acct(sk_bank_acct); local.setFk_money(fk_money); local.setFk_summary(fk_summary); local.setFk_date(fk_date); local.setInput_man(input_operatorCode); local.addFinacialcardInfoGuotou(); out.clear(); response.getWriter().write("1"); }catch(Exception e){ out.clear(); response.getWriter().write(e.getMessage()); } %>
Les données que je reçois à ce moment seront tronquées en chinois, quelle que soit la méthode de transmission, get ou post, elles seront tronquées en chinois
Solution :
On peut ré-encoder les données lors de la transmission puis re-décoder lors de la réception des données. En fait, le problème des codes tronqués est que le conflit de format d'encodage entraîne une erreur d'analyse de format préalable de la paire de clés décodées, ce qui entraîne des codes tronqués. Lors de la transmission, ajoutez un encodage encodeURI() devant les données chinoises à transmettre, par exemple : encodeURI(j$("#fk_info").val()); ajoutez un java.net.URLDecoder devant les données chinoises qui doivent être reçues. decode(value, "UTF-8"), par exemple
String fk_bank_name = Utility.trimNull(request.getParameter("fk_bank_name")); .decode(fk_bank_name, "UTF-8" ;
Récupérer les données dans add_form_do.jsp après réparation :
Si les données ne sont pas une page jsp , mais une classe Java, vous n'avez besoin que de URLDecoder.decode (valeur, "UTF-8"); pour décoder puis importer le package correspondant. Il peut également être nécessaire d'encoder encodeURI(encodeURI(j$("#fk_info").val())) deux fois pendant la transmission. La raison spécifique est que lorsque nous obtenons des données via request.getParameter(), nous effectuerons un décodage. opération. Le temps de décodage reste inchangé.
function saveForm(){ if(document.theformadd.onsubmit()){ disableAllBtn(true); j$.ajax({ type:"get", url:"add_form_do.jsp", data:{ problem_id : j$("#problem_id").val(), product_id : "<%=product_id%>", productId : j$("#productId").val(), depart_id : j$("#depart_id").val(), fk_busi_id : j$("#fk_busi_id").val(), fk_type : j$("#fk_type").val(), fk_source : j$("#fk_source").val(), fk_info : encodeURI(j$("#fk_info").val()), fk_name : encodeURI(j$("#fk_name").val()), fk_bank_name : encodeURI(j$("#fk_bank_name").val()), fk_bank_acct : encodeURI(j$("#fk_bank_acct").val()), sk_name : encodeURI(j$("#sk_name").val()), sk_bank_name : encodeURI(j$("#sk_bank_name").val()), sk_bank_acct : encodeURI(j$("#sk_bank_acct").val()), fk_money : j$("#fk_money").val(), fk_summary : encodeURI(j$("#fk_summary").val()), fk_date : j$("#fk_date").val(), input_man : "<%=input_operatorCode%>" }, success:function(ret){ if(ret == 1) { sl_alert("保存成功!"); }else{ sl_alert(ret); } window.returnValue=true; window.close(); } }); } }
Points de connaissances importants à maîtriser dans les applications AJAX
<%@ page contentType="text/html; charset=GBK" import="java.math.*,com.enfo.intrust.intrust.vo.*,java.io.*, com.enfo.intrust.web.*,java.util.*,com.enfo.intrust.dao.*,com.enfo.intrust.intrust.*,com.enfo.intrust.tools.*,com.enfo.intrust.project.*" %> <script type="text/javascript" src="<%=request.getContextPath()%>/ext2.0/ext-base.js"></script> <script type="text/javascript" src="<%=request.getContextPath()%>/ext2.0/ext-all.js"></script> <%@ include file="/includes/operator.inc" %> <% try{ product_id = Utility.parseInt(Utility.trimNull(request.getParameter("product_id")),product_id); UnpostwarrantLocal local = EJBFactory.getUnpostwarrant(); Integer problem_id = Utility.parseInt(request.getParameter("problem_id"),new Integer(0)); Integer depart_id = Utility.parseInt(request.getParameter("depart_id"),new Integer(0)); //部门 Integer productId = Utility.parseInt(Utility.trimNull(request.getParameter("productId")),product_id); String fk_busi_id = Utility.trimNull(request.getParameter("fk_busi_id")); //字典1206 费用 String fk_type = Utility.trimNull(request.getParameter("fk_type")); //付款方式 2103 String fk_source = Utility.trimNull(request.getParameter("fk_source")); //付款依据 2104 String fk_info = Utility.trimNull(request.getParameter("fk_info")); //票据号码 String fk_name = Utility.trimNull(request.getParameter("fk_name")); //付款单位 String fk_bank_name = Utility.trimNull(request.getParameter("fk_bank_name")); //付款银行名称 String fk_bank_acct = Utility.trimNull(request.getParameter("fk_bank_acct")); //付款银行账号 String sk_name = Utility.trimNull(request.getParameter("sk_name")); //收款单位 String sk_bank_name = Utility.trimNull(request.getParameter("sk_bank_name")); //收款银行名称 String sk_bank_acct = Utility.trimNull(request.getParameter("sk_bank_acct")); //收款银行账号 BigDecimal fk_money = Utility.parseDecimal(Utility.trimNull(request.getParameter("fk_money")).replaceAll(",",""),new BigDecimal(0)); //金额 String fk_summary = Utility.trimNull(request.getParameter("fk_summary")); //备注 Integer fk_date = Utility.parseInt(request.getParameter("fk_date"),new Integer(Utility.getCurrentDate())); //要求付款日期 local.setProblem_id(problem_id); //local.setProduct_id(product_id); local.setProduct_id(productId); local.setDepart_id(depart_id); local.setFk_busi_id(fk_busi_id); local.setFk_type(fk_type); local.setFk_source(fk_source); local.setFk_info(java.net.URLDecoder.decode(fk_info, "UTF-8")); local.setFk_name(java.net.URLDecoder.decode(fk_name, "UTF-8")); local.setFk_bank_name(java.net.URLDecoder.decode(fk_bank_name, "UTF-8")); local.setFk_bank_acct(java.net.URLDecoder.decode(fk_bank_acct, "UTF-8")); local.setSk_name(java.net.URLDecoder.decode(sk_name, "UTF-8")); local.setSk_bank_name(java.net.URLDecoder.decode(sk_bank_name, "UTF-8")); local.setSk_bank_acct(java.net.URLDecoder.decode(sk_bank_acct, "UTF-8")); local.setFk_money(fk_money); local.setFk_summary(java.net.URLDecoder.decode(fk_summary, "UTF-8")); local.setFk_date(fk_date); local.setInput_man(input_operatorCode); local.addFinacialcardInfoGuotou(); out.clear(); response.getWriter().write("1"); }catch(Exception e){ out.clear(); response.getWriter().write(e.getMessage()); } %>
Ajax combiné avec PHP pour implémenter la méthode d'instance de liaison secondaire
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Le problème du chinois tronqué sous Linux est un problème courant lors de l'utilisation de jeux de caractères et d'encodages chinois. Les caractères tronqués peuvent être causés par des paramètres de codage de fichier incorrects, des paramètres régionaux du système non installés ou définis, des erreurs de configuration de l'affichage du terminal, etc. Cet article présentera plusieurs solutions de contournement courantes et fournira des exemples de code spécifiques. 1. Vérifiez le paramètre d'encodage du fichier. Utilisez la commande file pour afficher l'encodage du fichier. Utilisez la commande file dans le terminal pour afficher l'encodage du fichier : file-ifilename S'il y a "charset" dans la sortie.

Titre : Méthodes et exemples de code pour résoudre les erreurs 403 dans les requêtes jQuery AJAX L'erreur 403 fait référence à une demande selon laquelle le serveur interdit l'accès à une ressource. Cette erreur se produit généralement parce que la demande manque d'autorisations ou est rejetée par le serveur. Lorsque vous effectuez des requêtes jQueryAJAX, vous rencontrez parfois cette situation. Cet article explique comment résoudre ce problème et fournit des exemples de code. Solution : Vérifiez les autorisations : assurez-vous d'abord que l'adresse URL demandée est correcte et vérifiez que vous disposez des autorisations suffisantes pour accéder à la ressource.

De nombreux utilisateurs ont constaté que leur logiciel personnel était tronqué après la mise à niveau du système win11. Alors, comment résoudre ce problème ? Laissez maintenant l'éditeur présenter soigneusement aux utilisateurs l'analyse des problèmes de code tronqué dans certains logiciels sous Win11. Analyse des caractères tronqués dans certains logiciels sous win11 1. Cliquez sur le champ de recherche dans la barre des tâches dans le coin inférieur gauche et entrez dans le panneau de configuration pour l'ouvrir. 3. Cliquez sur la zone. 5. Décochez ensuite la petite case de la version bêta dans la fenêtre, et enfin redémarrez l'ordinateur pour résoudre le problème.

jQuery est une bibliothèque JavaScript populaire utilisée pour simplifier le développement côté client. AJAX est une technologie qui envoie des requêtes asynchrones et interagit avec le serveur sans recharger la page Web entière. Cependant, lorsque vous utilisez jQuery pour effectuer des requêtes AJAX, vous rencontrez parfois des erreurs 403. Les erreurs 403 sont généralement des erreurs d'accès refusé par le serveur, probablement en raison de problèmes de politique de sécurité ou d'autorisation. Dans cet article, nous verrons comment résoudre la requête jQueryAJAX rencontrant une erreur 403.

Titre : Méthodes et exemples de code pour résoudre le problème des caractères tronqués lors de l'importation de données chinoises dans Oracle. Lors de l'importation de données chinoises dans la base de données Oracle, des caractères tronqués apparaissent souvent en raison de paramètres de jeu de caractères incorrects dans la base de données ou de problèmes de conversion d'encodage lors de l'importation. processus. . Afin de résoudre ce problème, nous pouvons adopter certaines méthodes pour garantir que les données chinoises importées peuvent être affichées correctement. Voici quelques solutions et exemples de code spécifiques : 1. Vérifiez les paramètres du jeu de caractères de la base de données Dans la base de données Oracle, les paramètres du jeu de caractères sont

Conseils pour gérer les noms de fichiers chinois tronqués en PHP Au cours du processus de développement, nous rencontrons souvent le problème des noms de fichiers chinois tronqués, en particulier lors du traitement des fichiers téléchargés par les utilisateurs. En PHP, comment gérer correctement les noms de fichiers tronqués est un problème courant et important. Cet article présentera quelques techniques pour traiter les noms de fichiers chinois tronqués et fournira des exemples de code spécifiques pour aider les lecteurs à mieux relever ce défi. Description du problème : lorsque les utilisateurs téléchargent des fichiers, les noms de fichiers chinois semblent parfois tronqués. En effet, différents systèmes d'exploitation et navigateurs

Win11 est le dernier système d'exploitation de Microsoft, mais certains utilisateurs peuvent rencontrer le problème d'affichage de caractères tronqués lors du démarrage, ce qui affectera l'utilisation normale du système. Cet article présentera quelques méthodes pour résoudre ce problème. Méthode 1 : 1. Appuyez sur la combinaison de touches [Win+S] ou cliquez sur [Icône de recherche] à côté de l'icône de démarrage dans la barre des tâches. Dans la recherche Windows ouverte, saisissez [Panneau de configuration] dans la zone de recherche, puis cliquez sur. [Ouvrir] L'application du panneau de configuration la mieux adaptée ; 2. Dans la fenêtre du panneau de configuration, passez au mode d'affichage [Catégorie], puis cliquez sur [Horloge et zone-région] ; Gestion], puis cliquez sur [Modifier] Paramètres régionaux du système] ; 4. [Décocher] Version bêta : utiliser Unicode.

Comment résoudre le problème des caractères tronqués dans le terminal Linux. Lors de l'utilisation du système Linux, le texte affiché dans le terminal sera parfois tronqué. Cela nous gêne lors de l'utilisation du terminal et doit être traité à temps. Cet article explique comment résoudre certains problèmes courants de terminal Linux tronqué et fournit des exemples de code spécifiques. Problème 1 : caractères chinois tronqués sur le terminal. Les caractères chinois tronqués sur le terminal sont généralement causés par des paramètres de codage de caractères incorrects sur le terminal. Nous pouvons résoudre ce problème en modifiant les paramètres de codage des caractères du terminal. #Voir le terminal actuel
