在PHP中检测Ajax

Dav*_*ron 3 php forms ajax jquery login

我正在尝试将ajax发布到同一个php页面.

阿贾克斯:

$("#loginForm").submit(function(e) {
    e.preventDefault();
    var postData = $(this).serialize();
    $.post("login.php", postData);
});
Run Code Online (Sandbox Code Playgroud)

postData是正确的,格式如下:

username=john&password=123123
Run Code Online (Sandbox Code Playgroud)

PHP(同页):

if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
      echo 'Ajax Request Detected';
}
Run Code Online (Sandbox Code Playgroud)

但是,此if-check始终返回false,并且永远不会执行回显线.我在这做错了什么?

sed*_*ass 8

这是在php中检测ajax请求的正确方法:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // this is ajax request, do something
}
Run Code Online (Sandbox Code Playgroud)