如何向 Symfony 添加 Ajax 功能

2023-11-29

我在页面中有一组会话,我想使用 AJAX 删除它们。即单击链接,无需导航到新页面,只需删除会话,并显示成功消息。

现在,根据给定的答案(这对我来说仍然不起作用),我有以下内容:

控制器

use Symfony\Component\HttpFoundation\JsonResponse;
//..

public function ajaxRemoveSessionAction()
{
    $session = $this->getRequest()->getSession();
    $session->remove('name');

    return new JsonResponse(array('success' => true));
}

routing:

ajax_remove_session:
    pattern:  /remove-session
    defaults: { _controller: FooTestBundle:Page:ajaxRemoveSession }

twig:

<a href="#" id="remove_session">Remove session</a>

<script type="text/javascript">
$(document).ready(function() {
    $('#remove_session').click(function(){
        event.preventDefault();

        $.ajax({
          url: {{ url('ajax_remove_session') }},
          cache: false,
          success: function(result){
             $(".success").append(result);
          }
        });
    });
});
</script>

更新问题:

包含在路由、控制器和模板中找到的所有代码


控制器:PageController.php

/src/Simon/TestBundle/Controller/PageController.php

<?php

namespace Simon\TestBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\HttpFoundation\JsonResponse;


class PageController extends Controller
{
    public function helloAction($name)
    {


        $session = new Session();
        $session->start();

        $session->get('name', 'Drak');
        $session->get('name');

        $session->getFlashBag()->add('notice', 'Profile Updated');

        $messages = null;

        foreach($session->getFlashBag()->get('notice', array()) as $message){
            $messages = $message;
        }


        return $this->render('SimonTestBundle:Page:index.html.twig', array('name' => $name.' '.$messages));
    }


    public function ajaxRemoveSessionAction()
    {
        // Destroy the desired session
        $session = $this->getRequest()->getSession();
        $session->remove('name');

        return new JsonResponse(array('success' => true));
    }
}

模板:树枝模板

/src/Simon/TestBundle/Resources/views/Page/index.html.twig

{% extends 'SimonTestBundle::layout.html.twig' %}

{% block body %}
    <a href="#" id="remove_session">Remove session</a>



    <script type="text/javascript">
        $('#remove_session').click(function(e){
            e.preventDefault();

                $.ajax({
                    url: {{ url('ajax_remove_session') }},
                    cache: false,
                    success: function(html){
                        // do something on success
                    }
                }).fail(function(event){
                            console.log(event);
                        });
            });
        });
    </script>



{% endblock %}

Routing:

/src/Simon/TestBundle/Resources/config/routing.yml

simon_test_homepage:
    pattern:  /hello/{name}
    defaults: { _controller: SimonTestBundle:Page:hello }

ajax_remove_session:
    pattern:  /remove-session
    defaults: { _controller: SimonTestBundle:Page:ajaxRemoveSession }

控制器示例:

use Symfony\Component\HttpFoundation\JsonResponse;


public function ajaxRemoveSessionAction()
{
    // Destroy the desired session
    $session = $this->getRequest()->getSession();
    $session->remove('name');

    return new JsonResponse(array('success' => true));
}

路由示例:

ajax_remove_session:
    pattern:  /remove-session
    defaults: { _controller: FooTestBundle:Page:ajaxRemoveSession }

示例树枝:

<a href="#" id="remove_session">Remove session</a>

<script type="text/javascript">
$(document).ready(function() {
    $('#remove_session').click(function(){
        event.preventDefault();

        $.ajax({
          url: {{ url('ajax_remove_session') }},
          cache: false,
          success: function(html){
            // do something on success
          }
        });
    });
});
</script>

这些只是需要测试的示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向 Symfony 添加 Ajax 功能 的相关文章

  • 使用 php 将 HLS Segment (ts) 视频转换并加入到 mp4

    你好我正在使用这个工具 https github com Ejz HLSDownloader https github com Ejz HLSDownloader将 HLS 视频片段从 m3u8 播放列表下载到 ts 文件中 不 我不知道如
  • SimpleSAMLPHP 重定向循环

    我们正在尝试使用自定义 mysql 数据库设置 sso 但它在以下两个请求之间进入无限循环 POST http 192 168 0 15 simplesaml module php core loginuserpass php 设置Cook
  • Propel Query 中的动态表名称

    我想知道您是否可以使 propel 查询的表名称动态化 有点像变量 一个例子类似于 DynamicVar Query create 我让它在 ifs 中工作 就像下面的例子一样 但如果更动态地制作 可以删除相当多的行 这些表的设置都是相同的
  • 如何在 Laravel 5 中处理嵌套的 JSON 对象请求?

    我们在 Laravel 5 和 AngularJs Ionic 中运行此 Web 服务来处理 Web 当我们将请求从 Web 客户端 发送到 Web 服务 后端 时 我们传递了嵌套的 JSON 对象 我们在读取服务器端父对象下的所有子对象时
  • 如何使用 jQuery 通过单击按钮来选择下拉列表中的所有值?

    如何通过在 JavaScript 中使用 jQuery 单击按钮来选择下拉列表中的所有值 function select children option attr selected selected 应该做 当然你需要一个SELECT具有属
  • URL 重写帮助

    RewriteEngine on RewriteCond REQUEST URI index php RewriteRule index php q 1 L 这应该将任何 url 重写为 index php q url 并且它可以工作 反正
  • cURL '格式错误的网址'

    This url 在浏览器中工作得很好 但 cURL 返回错误 3 格式错误的 url 关于解决方法有什么想法吗 EDIT 卷曲代码 function get web page url options array CURLOPT RETUR
  • 疯狂的 crond 行为。不断使 bash 进程失效

    我有一个看起来像这样的 crontab SHELL bin bash PATH sbin bin usr sbin usr bin MAILTO root HOME 0 59 var www html private fivemin zda
  • Jquery 关注下一个带有类的元素

    我正在尝试创建一个函数 当按下 Enter 键时 会选择带有类的下一个输入 我已经设法 focus 同一行中的下一个元素 但是 如果我需要选择下一行的下一个输入 它将无法继续 下一行中的第一个 quantity 文本框需要获得焦点 控制台没
  • ZF2 工厂获取参数

    我有一个动态类别导航 在导航工厂中 我想从路线获取参数 我怎样才能做到这一点 在我看来 在我的 module php 中 public function getServiceConfig return array factories gt
  • 解析 PHP 响应:未捕获的语法错误:意外的标记 <

    我正在使用 AJAX 来调用 PHP 脚本 我唯一需要从响应中解析的是脚本生成的随机 ID 问题是 PHP 脚本会引发许多错误 这些错误实际上很好 不会妨碍程序功能 唯一的问题是当我跑步时 parseJSON response I get
  • 带有子节点的拖放区域

    我有一个带有多个子节点的拖放区域 主要元素有dropenter and dropleave事件 但是 如果您将文件拖动到主元素内部和子节点上方 则dropleave被触发 如何处理 以便dropleave仅当拖动的元素和鼠标位于主元素之外时
  • 如何将 jquery 添加到 Appcelerator Titanium Mobile Work?

    是否可以将 jquery 集成到 Titanium Appcelerator 中并且它可以正常工作吗 否则我们不能将jquery集成到titanium appcelerator中 有人帮助我吗 你到底想做什么 我不确定它在没有 DOM 的情
  • 如何使用 PDO 动态构建查询

    我正在使用 PDO 并想做这样的事情 query dbh gt prepare SELECT FROM table WHERE column value query gt bindParam table tableName query gt
  • 使 div 的大小与其内部图像的大小相同

    我有一个带有以下代码的div HTML div img src img logo png div CSS div imgContainer width 250px height 250px padding 13px 问题是用户可以编辑图像大
  • 在窗口调整大小和窗口加载时动态调整 pixi 舞台及其内容的大小

    我正在尝试在窗口调整大小时动态调整 pixi 舞台 画布和内容 的大小 并且最初以浏览器窗口的大小加载 而不改变比例 我使用以下内容将初始大小基本上设置为window innerWidth window innerHeight 但它做了一些
  • JavaScript 点击事件在 Android 4.0.4 默认浏览器上的 Samsung Galaxy SIII 上不起作用

    我在 Android 4 0 4 上使用 Samsung Galaxy SIII 的默认浏览器时遇到了最奇怪的问题 对于以下页面 单击链接将不会触发 JavaScript 处理程序 从其中一个 div 的内容中删除单个 a 字母使它们再次工
  • PHP 中的嵌套 JSON 输出

    我正在为 iOS 应用程序构建 API 并尝试将 mySQL 数据转换为 JSON 字符串进行处理 所需的输出将需要顶级订单详细信息 例如客户名称和地址 然后是订购的产品子数组 我需要的两个表中有相当多的字段 我希望拥有所有字段 我已经构建
  • PHP - 查找和比较日期

    你好 我有 foreach 我可以在其中获取数据库中的事件数据 我使用数据库中的日期名称 例如 event date 我需要在一个 div 中比较具有相同日期和输出的操作 例如我有这个事件 活动一 9 月 13 日 活动二 9 月 1 日
  • HTML:JavaScript:阻止表单提交并调用 Javascript 函数

    我想在按下表单中的提交按钮时进行 AJAX 调用 事实上我无法删除

随机推荐

  • Firebase 数据库结构

    我目前正在为 iOS 创建一个电子商务应用程序 但我无法决定如何为用户通过 关键字 搜索项目的场景构建数据库 我不确定存储关键字数组或仅存储该项目的关键字字符串是否会更好 如果大家有什么建议请告诉我 谢谢 这是我现在的单个项目的结构 ite
  • Ajax.BeginForm 导致重定向到部分视图而不是就地视图

    我的 Search cshtml 有一个名为 search results 的 div 需要更新 SearchResults 是操作名称 我已经在 MVC2 VS2008 项目上做过很多次了 但这是我第一次使用 MVC3 和 VS2010
  • AI Platform 中的 PyTorch 模型部署

    我正在 Google Cloud AI Platform 中部署 Pytorch 模型 出现以下错误 ERROR gcloud beta ai platform versions create Create Version failed B
  • 将对象绑定到 WPF TreeView

    我想知道如何将自定义数据类型绑定到TreeView 数据类型基本上是包含其他数组列表的对象数组列表 访问看起来像这样 foreach DeviceGroup dg in system deviceGroups foreach DeviceT
  • 为什么这段多行代码中存在VBA语法错误?

    我有一行这么长的代码 VBE 说它有语法错误 我检查了代码 我很确定它应该没问题 我是否超出了限制 Worksheets DTR Cells Total Rows Formulas 1 26 IF INDEX Payroll Tables
  • Oracle 数据库 11g 中出现错误 ORA-12638

    我是一个使用 Oracle Database 11g Express 的大初学者 今天第一次尝试 我只掌握了数据库的理论知识 学过SQL但从未使用过 所以 我今天安装了Oracle 11g 在需要时给了他们系统密码 然后我继续启动 启动数据
  • 如何为 Python 中的 document_client 对象发送的 Cosmos DB 查询设置连续令牌?

    我有一个 API 可以根据文档字段中出现的关键字检索文档 我想对结果进行分页 以便我可以将文档返回给发送请求的客户 并允许他们在需要时请求更多文档 当我在 Azure 数据资源管理器中时 查询本身在浏览器中只需要一秒钟左右的时间 但当我使用
  • 如何取消Facebook登录?

    我刚刚添加了一个facebook我的手机游戏应用程序的功能并根据教程实现了 SSO 单点登录 https developers facebook com docs mobile ios build 如果用户尚未安装 facebook 的应用
  • Next.js - 设置 onClick 处理程序时遇到问题

    访问时我很惊讶react dev这么说create react app不再建议用于 React 应用程序引导 好吧 世界发生了变化 让我们深入了解我的第一个应用程序的 Next js import Image from next image
  • AssertionError: 302 != 200 : 无法检索重定向页面 '/api/v2/app/nextdialog': 响应代码为 302 (预期为 200)

    AssertionError 302 200 无法检索重定向页面 api v2 app nextdialog 响应代码为 302 预期为 200 在 Django 中 可以有三个视图 每个视图都重定向到下一个视图 视图 1 重定向到视图 2
  • 如何从空手道功能文件中的 .js 文件调用特定的 javascript 函数

    假设我已将以下函数保存在 Utility js 文件中 function getCurrentDate return date function getMonth return Oct 请帮助我如何在功能文件中访问这些方法 我尝试了以下代码
  • HTTP v1 API:用于网络推送通知的“click_action”

    FCM 中的文档主要关注 Android iOS 和我的底层webpush自我正在挣扎click action click action是一个可以在旧 API 中使用的密钥 但似乎不再适用于webpush 对此的唯一具体参考是在这篇博客文章
  • 对 .Net Native 的依赖

    我在提交到应用商店时遇到以下认证错误 我的应用程序名称 依赖于 Microsoft Net Native Runtime Package 1 x 框架 但清单中缺少框架依赖项声明 我的应用程序名称 依赖于 Microsoft Net Nat
  • R 中的正则表达式:查找确切的数字

    这是在R中 grep AB22 c AB22 AB22 AB22 AB22 3 AB226AEM 1 AB22AEM 2 value T 给出所有这些 AB22 AB22 AB22 AB22 3 AB226AEM 1 AB22AEM 2 但
  • 从外部 vagrant 连接到 MySQL

    我想使用 mycli 连接到在 vagrant 实例内运行的 MySQL 服务器 我的基本 Vagrantfile 类似于以下代码片段 Vagrant configure VAGRANTFILE API VERSION do config
  • 画布游戏计时器

    我正在制作一个 HTML5 Canvas 游戏 其中有一个在画布上移动的矩形 目标是尽可能长时间地躲避在画布上移动的多个球 但我正在努力设置一个计时器 以在球击中矩形时显示您的时间 得分 矩形由上 下 左 右键移动 任何了解这方面知识的人可
  • C++ 向量总是连续的吗? [复制]

    这个问题在这里已经有答案了 可能的重复 std vector 元素是否保证是连续的 我遇到过一种技术 人们在 C 中使用向量来接收或发送 MPI 操作的数据 因为据说它在内存中连续存储元素 然而 我仍然怀疑这种方法对于任何大小的向量是否保持
  • fromJSON 中的多个 JSON 对象

    我正在尝试使用fromJSON 读取具有多个对象的 json 文件 结构如下 key11 value11 key12 value12 key11 value11 key12 value12 如果我手动添加 整个文件用括号括起来 以及 对象之
  • static const C++ 类成员已初始化在链接时给出重复符号错误

    我有一个类 它有一个静态常量数组 它必须在类之外初始化 class foo static const int array 3 const int foo array 3 1 2 3 但后来我在 foo o 和 main o 中得到了重复的符
  • 如何向 Symfony 添加 Ajax 功能

    我在页面中有一组会话 我想使用 AJAX 删除它们 即单击链接 无需导航到新页面 只需删除会话 并显示成功消息 现在 根据给定的答案 这对我来说仍然不起作用 我有以下内容 控制器 use Symfony Component HttpFoun