如何使用Ajax检查是否单击了按钮?我希望有一个按钮,当单击它时,发送一个Ajax请求(已经完成),并在单击该按钮时收到通知。我只是不知道如何检查它是否是从另一个源文件中按下的,以及在Ajax请求中要发送的标头。我的代码如下(假设我的表单中有一个名为“button”的按钮:
<script type = "text/javascript">
function checkVote()
{
request = new ajaxRequest();
request.open("POST", "checkButton.php", true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send(params);
}
function ajaxRequest()
{
try
{
request = new XMLHttpRequest();
}
catch(e1)
{
try
{
request = new ActiveXObject('Msxml2.XMLHTTP');
}
catch(e2)
{
try
{
request = new ActiveXObject('Microsoft.XMLHTTP');
}
catch(e3)
{
request = false;
}
}
}
return request;
}
</script>
答案 0 :(得分:3)
所有流行的JavaScript库/框架都会向HTTP_X_REQUESTED_WITH
发送值为XMLHttpRequest
的{{1}},让您的脚本知道请求是通过Ajax进行的。因此,如果您使用jQuery,Prototype等,这将为您处理(并使您的JavaScript编码生活更轻松)。如果没有,您可以自己设置,以便遵循公认的惯例。
if ($_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest') {
// Ajax request
}