我是使用jQuery处理AJAX的新手,并且已经编写了一个基本脚本来获取基础知识。目前,我正在向同一个文件发布AJAX请求,并且希望根据该AJAX调用的结果进行一些额外的处理。使用jQuery的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',因此我的问题是:什么是确切指定我想要返回的数据的最佳方式?
一些想法我有:
- 包装一个if语句里面我所有的HTML(即,如果$ NUM isset,不输出HTML;否则输出HTML),但是我呼应HTML ,我宁愿不这样做。
- 设置一个单独的PHP脚本来接收我的AJAX调用:这是我最初做的,它工作得很好。但是,我有兴趣将所有内容都保存在一个文件中,并且希望探索可能的方式。
我确定有一个优雅的方式来做到这一点。感谢您的任何建议!
你为什么愿意把一切都在一个文件中。你应该构建你的代码。否则,你会得到非常大的文件与混淆的代码。那么CSS和JavaScript呢?你也想把它全部放在一个文件中吗?你可以做到这一点,但我认为这不会很优雅。 – steven
Steven - 够公平的。我想探索的重点是保留一个文件中的所有调用,因为我正在开发一个项目,在这个项目中我们将有多个使用AJAX调用的PHP页面,并且我正在尝试确定处理这种情况的最佳实践。 现在,我会说,每个使用AJAX调用类似这样的脚本也会有相应的。公司包括文件 - 也许这将是最好的让POST调用包含文件,而不是使用同一页面或不同脚本。 我现在处于开发的探索阶段,我得到的答案非常有帮助。 – JRizz