Je suis nouveau à l'utilisation de JQuery pour la manipulation Ajax et j'ai écrit un script de base pour réduire les bases. Actuellement, je pose une demande Ajax dans le même dossier et je souhaite faire un traitement supplémentaire en fonction des résultats de cet appel AJAX.
Voici mon code: P>
4 <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <style type="text/css"> td {border:none;} </style> </head> <body> <table width="800" border="1"> <tr> <td align="center">Number To Send<br /><input type="text" id="numSend" size="40%" style="border:2px solid black;"></td> <td align="center">Number Returned<br /><input type="text" id="numReturn" size="40%" readonly></td> </tr> <tr><td align="center" colspan="4"><input type="button" value="Get Number" id="getNum" /></td></tr> </table> <script> $(document).ready(function () { $('#getNum').click(function () { var $numSent = $('#numSend').val(); var json = {"number":$numSent}; $.post("convertNum.php", {"json": json}).done(function (data) { alert(data); } ); }); }); </script> </body> </html>
5 Réponses :
Le moyen élégant serait d'avoir un fichier php séparé (!) qui ne produira que le numéro Times 2 code> partie de votre PHP actuel. Ensuite, vous générez une demande Ajax à partir de votre PHP actuel à la nouvelle PHP séparée. P>
Salut Devnull, c'était mon approche originale. J'ai besoin de modifier ma réponse pour inclure cela - merci. J'ai eu l'appel Ajax pointant vers un script PHP séparé, mais je voulais explorer l'idée de tout garder sur une page.
Ensuite, vous devriez aller pour le si code> ... Vous n'avez pas besoin d'echo HTML, vous pouvez toujours avoir la partie HTML en dehors des sections PHP>. Cela fonctionnera également à l'intérieur de PHP si des déclarations!
Intéressant - je n'avais pas considéré cela. Laissez-moi jouer avec mon script d'autres et explorez cela. Merci - je veux laisser cette open pour obtenir d'autres idées à considérer, mais si c'est la meilleure solution, je vais marquer cette réponse. J'apprécie votre contribution.
Après avoir des tests supplémentaires, j'ai décidé que d'utiliser un fichier incluant pour gérer l'appel ou utiliser une instruction si le meilleur moyen d'y aller, avec un forte penchant vers le fichier inclus. Merci tout le monde.
C'est une mauvaise approche procédurale, mais ici, je vais :): p> ou mieux encore: p> matrice (); code>, vous pouvez utiliser
quitter (); code>, ils font tous les deux à peu près la même chose: Terminer une exécution supplémentaire forte> p > p>
des crochets dans la première approche? +1 pour la deuxième
Merci pour la faute de frappe :) n'a pas vu ça
Merci Ghostman. C'était mon approche originale - j'ai fait des modifications à ma question pour préciser cela. Cela fonctionne bien, mais je voulais explorer l'idée d'utiliser la même page pour recevoir l'appel Ajax. On dirait que cela peut toujours être le moyen le plus efficace d'y aller. Merci!
Vous pouvez ajouter matrice (); code> après avoir echo le numéro si vous voulez vraiment le garder sur la même page. Cela mettra fin à l'exécution du script. N'oubliez pas d'ajouter des supports autour de l'instruction IF:
if (isset($num)) {
echo $num['number'] * 2;
die();
}
Je ne sais pas à quel point cela est efficace, mais vous pouvez faire quelque chose comme:
Je crois Cet article répond à un aspect de ce que vous voyez - l'écho de la page entière de votre boîte d'alerte. P>
Ensuite, voici quelques bons postes pour obtenir les bases de Ajax: P>
Remplir une liste déroulante 2 basée sur la sélection dans Dropdown 1 P>
Merci de bien vouloir. Toujours bon d'avoir du matériel de lecture et des exemples supplémentaires. J'apprécie votre temps.
Pourquoi voudriez-vous tout garder dans un fichier? Vous devez structuriser votre code. Sinon, vous obtiendrez des fichiers de poulaits avec un code déroutant. Et qu'en est-il de CSS et JavaScript? Voulez-vous aussi avoir tout dans un fichier aussi? Vous pouvez le faire mais je pense que cela ne serait pas élégant.
Steven - assez juste. Le Reaonc, je veux explorer de conserver tous les appels dans un seul dossier, c'est parce que je travaille sur un projet où nous aurons plusieurs pages PHP faisant des appels AJAX, et je tente de déterminer les meilleures pratiques pour la manipulation de cette affaire. Maintenant, je dirai que chaque script qui utilise un appel AJAX comme celui-ci aura un fichier correspondant .Inc incluent-il - peut-être qu'il serait préférable de faire appel à la poste à celui-ci, plutôt que d'utiliser la même page ou un script différent. Je suis dans la phase exploratoire du développement en ce moment et les réponses que je reçois sont énormément utiles.