通过按钮调用控制器功能

时间:2014-04-22 08:07:06

标签: jquery ajax symfony

我在使用Symfony 2和请求时遇到了一些麻烦。 我正在阅读一些文档但它只是让我困惑。 你能清楚这点吗?感谢。

我正在创建一个网站,其中包含一些用户可以添加到他的收藏夹中的文章。 所有实体都可以,映射和基础也是如此。我只是遇到了前面的问题。

我想在文章页面上有一个按钮,它调用我的控制器中的一个函数(调用正确的存储库方法)并且不刷新页面(这就是我不能使用PHP的原因)只要)。 如果通话有效,我正在考虑改变按钮的颜色。

你用它做什么?我不需要结果,我知道stackoverflow是如何工作的,只是foo / bar步骤或命名方法。

感谢。

1 个答案:

答案 0 :(得分:4)

你想在这里使用的是jQuery。

你需要控制器中的路线来引用:

/**
 * @Route("/do_something", name="your_action_route")
 */
public function doSomethingAction(Request $request) {

然后你可以在你的树枝模板中使用ad js脚本:

$(document).on('click','button',function(){
     $.ajax('{{ path('your_action_route') }}', {
                    data: { 
                            // you can pass some parameters to the controller here
                    },
                    success: function(data) {
                            // change button color
                    },
                    error: function() {
                            // show alert or something
                    }
                });
    return false; // this stops normal button behaviour from executing;

});

这样,无论何时单击站点上的按钮,ajax请求都将在控制器中执行您的操作。