Php 检查是否使用Ajax单击了按钮

Php 检查是否使用Ajax单击了按钮,php,javascript,ajax,Php,Javascript,Ajax,我如何使用Ajax检查按钮是否被单击?我希望有一个按钮,当点击时,它会发送一个Ajax请求(已经完成),并在点击按钮时收到通知。我只是不知道如何检查它是否来自另一个源文件,以及在Ajax请求中发送什么标题。我的代码如下(假设我的表单中有一个名为“button”的按钮): 函数checkVote() { 请求=新的ajaxRequest(); open(“POST”,“checkButton.php”,true); setRequestHeader(“内容类型”、“应用程序/x-www-form

我如何使用Ajax检查按钮是否被单击?我希望有一个按钮,当点击时,它会发送一个Ajax请求(已经完成),并在点击按钮时收到通知。我只是不知道如何检查它是否来自另一个源文件,以及在Ajax请求中发送什么标题。我的代码如下(假设我的表单中有一个名为“button”的按钮):


函数checkVote()
{
请求=新的ajaxRequest();
open(“POST”,“checkButton.php”,true);
setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”);
请求发送(params);
}
函数ajaxRequest()
{
尝试
{
请求=新的XMLHttpRequest();
}
渔获物(e1)
{
尝试
{
请求=新的ActiveXObject('Msxml2.XMLHTTP');
}
渔获物(e2)
{
尝试
{
请求=新的ActiveXObject('Microsoft.XMLHTTP');
}
渔获物(e3)
{
请求=假;
}
}                               
}
返回请求;
}

所有流行的JavaScript库/框架都会发送
HTTP\u X\u REQUESTED\u,其值为
XMLHttpRequest
,让脚本知道请求是通过Ajax发出的。因此,如果您使用jQuery、Prototype等,这将为您处理(并使您的JavaScript编码生活更轻松)。如果没有,您可以自己设置,以便遵循公认的惯例

if ($_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest') {
  // Ajax request
}

我所能说的就是…eww ActiveX…尽管这很好,但请不要使用它。我想这里不需要ajaxRequest样板文件。您首先是如何获得按钮单击事件的?这就是我想看到的。使用$\u POST.和@Kris,在IE浏览器上使用ActiveX的替代方法是什么?作为一个方便的提示,将其设置为f函数。我使用_ajax()调用了我的
。这样我就没有成百上千的
if($\u服务器['HTTP\u X\u REQUESTED\u WITH']
s围绕着我的代码,只要
if(使用_ajax())
Es但是我怎么才能得到类似
if(isset($\u POST['button'))的东西呢
来自我发送Ajax请求的另一个源文件?接收Ajax请求的页面是该代码的目的地。而不是提供原始内容的页面。确切地说,这是另一个源文件。由于某些原因,该源文件没有接收我的$\u POST请求,因此我想知道该文件要发送哪些参数Ajax请求。您的代码看起来适合发送POST数据。没有理由不接收它。
if ($_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest') {
  // Ajax request
}