Cet article présente principalement le problème des sauts de ligne dans la valeur de retour des données de soumission asynchrone Ajax. Il analyse en détail les techniques de traitement des valeurs de retour avec sauts de ligne dans le processus de soumission asynchrone d'Ajax sous forme d'exemples. Il a une certaine valeur de référence.Amis dans le besoin Vous pouvez vous référer à l'exemple
de cet article pour analyser le problème de retour à la ligne de la valeur de retour des données soumises de manière asynchrone par Ajax. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
L'analyse précédente a introduit "Les paramètres de transmission Javascript basés sur la fonction de rappel AJAX" et "La différence entre le navigateur IE et le navigateur FF lorsque la valeur du paramètre de transmission Ajax est Chinois", J'ai appris à utiliser la fonction de rappel ajax pour résoudre les problèmes de chinois tronqué dans différents navigateurs. Ici, nous analyserons les techniques de gestion des sauts de ligne dans les valeurs de retour de soumission asynchrone ajax.
Introduction au contexte :
Les fonctions qui doivent être implémentées sont : sélectionnez une catégorie dans la liste déroulante, soumettez-la à PHP et renvoyez les noms des membres sous la catégorie en fonction de la catégorie sélectionnée, et return Les noms de chaque membre sont affichés dans la zone de texte sous forme de sauts de ligne.
Code HTML :
<form action="setduty.php?action=add" method="post" name="setForm" id="setForm"> <p> <label>类型:</label> <select name="type" id="typeduty"> <option value="-1">选择类型</option> <option value="1">值班首长</option> <option value="2">值班处长</option> <option value="3">值班员</option> </select> </p> <p class="opertext"> <label>成员:</label> <textarea name="names" id="names" cols="30" rows="10"></textarea> </p>
Code JQuery :
$(document).ready(function(){ $("#typeduty").change(function(){ var type = $("#typeduty").val(); $.post("setduty_do.php", { 'cid' : type, },function(data,status){ newData = data.replace(/\r\n/g,''); $("#names").html(newData); }); }); });
Code PHP :
if($type){ switch($type){ case "1": $arrs = getChiefList(); break; case "2": $arrs = getDirectList(); break; case "3": $arrs = getAttendantList(); break; default: break; } $arr_names = ""; foreach($arrs as $arr){ if(strlen($arr[1])>2){ $arr_names.= $arr[1]."\n"; } } echo $arr_names; }
La valeur renvoyée dans le code php a directement un "n" de nouvelle ligne. Les symboles de nouvelle ligne d'IE et de FF dans la zone de texte sont tous deux "n". veillez à utiliser
newData = data.replace(/\r\n/g,'');
traite le résultat renvoyé pour supprimer le symbole de nouvelle ligne initial. La valeur renvoyée par Ajax contient automatiquement une nouvelle ligne. Ceci est inclus avec Ajax lui-même.
Ce qui précède est ce que j'ai compilé pour vous. J'espère que cela vous sera utile à l'avenir.
Articles connexes :
Renvoyer les données de la demande ajax Analyse du problème de séquence
Solution pour éviter les envois répétés de requêtes Ajax
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!