Yaf_Request_Abstract::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Abstract::isXmlHttpRequest判断请求是否是 AJAX 请求

说明

public function Yaf_Request_Abstract::isXmlHttpRequest(): bool

通过检查 HTTP_X_REQUESTED_WITH 请求头来判断请求是否是 Ajax 请求。

注意:

Yaf_Request_Simple 重写了该方法并始终返回 false,因为命令行请求不可能是 Ajax 请求。

参数

此函数没有参数。

返回值

如果请求是 Ajax 请求(X-Requested-With 头等于 XMLHttpRequest)则返回 true,否则返回 false

示例

示例 #1 Yaf_Request_Abstract::isXmlHttpRequest() 示例

<?php
class ProductController extends Yaf_Controller_Abstract
{
    public function viewAction()
    {
        // 假设请求携带了 "X-Requested-With: XMLHttpRequest"
        if ($this->getRequest()->isXmlHttpRequest()) {
            $this->getResponse()
                 ->setHeader("Content-Type", "application/json")
                 ->setBody(json_encode(["id" => 17, "name" => "Yaf in Action"]));
            return false;
        }
    }
}
?>

以上示例的输出类似于:

{"id":17,"name":"Yaf in Action"}

参见