ajax - Symfony2,检查一个 Action 是否被 ajax 调用

标签 ajax symfony controller

我需要,对于 Controller 中的每个操作,检查这些操作是否由 ajax 请求调用。

如果是,则不附加任何内容,如果否,我需要重定向到主页。

我刚找到if($this->getRequest()->isXmlHttpRequest()) ,但我需要在每个 Action 上添加此验证..

你知道更好的方法吗?

最佳答案

这很容易!

只需将 $request 变量添加到您的方法中即可。 (对于每个 Controller )

<?php
namespace YOUR\Bundle\Namespace

use Symfony\Component\HttpFoundation\Request;

class SliderController extends Controller
{

    public function someAction(Request $request)
    {
        if($request->isXmlHttpRequest()) {
            // Do something...
        } else {
            return $this->redirect($this->generateUrl('your_route'));
        }
    }

}

如果要自动执行此操作,则必须定义内核请求监听器。

关于ajax - Symfony2,检查一个 Action 是否被 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23911982/

相关文章:

php - Laravel Eloquent ORM 查询

javascript - 在 javascript 中使用从 C# 返回的数据结构

javascript - 表单提交与使用 ajax 传递数据的按钮 - 一个有效,另一个无效

ajax - Chrome 扩展程序(根据官方教程制作)不起作用

php - symfony - 学说 - 恢复我的 bdd 的所有数据,除了少数

symfony - 使用 Doctrine 生成代理

javascript - yii2 从 View 和调试进程中调用 Controller 操作

php - Laravel 使用 Ajax 上传多张图片

javascript - 如何避免多次 Ajax 调用

symfony - 未找到 Elasticsearch 服务