我是使用jQuery处理AJAX的新手,并且已经编写了一个基本脚本来掌握基础知识。当前,我正在将AJAX请求发布到同一文件,并且我希望基于该AJAX调用的结果进行一些其他处理。
这是我的代码:
**/*convertNum.php*/** $num = $_POST['json']; if (isset($num)) echo $num['number'] * 2; ?> <!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>
这是我提交数字“ 2”时得到的答复:
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>
显然,我只对接收和使用数字“ 4”感兴趣,因此我的问题是: 确切指定要返回的数据的最佳方法是什么?
我有一些想法:
我敢肯定有一种优雅的方法可以做到这一点。感谢您的任何建议!
优雅的方法是拥有一个单独的(!)PHP文件,该文件仅输出number times 2当前PHP 的一部分。然后,从当前的PHP到新的单独的PHP生成AJAX请求。
number times 2