Php 如何使用Symfony向组件函数发送Ajax请求?

Php 如何使用Symfony向组件函数发送Ajax请求?,php,jquery,symfony-1.4,Php,Jquery,Symfony 1.4,我有一个带有一些数据属性的按钮和一个组件MyComp 调用组件时,应在以下时间之前运行函数:executeMyComp(sfWebRequest$request)。在我的executeMyComp中,我使用了一些推进SQL,但我需要一些通过AJAX从按钮发送的变量 Ajax是否应该将变量保存到Symfony会话中?如果是,怎么做 或者我应该通过Ajax发送sfWebRequest吗?如果是,如何发送 谢谢。对于executeMyComp之前的函数,您可以使用preExecute函数。它们在实际操

我有一个带有一些
数据属性的按钮和一个组件MyComp

调用组件时,应在以下时间之前运行函数:
executeMyComp(sfWebRequest$request)
。在我的executeMyComp中,我使用了一些推进SQL,但我需要一些通过AJAX从按钮发送的变量

  • Ajax是否应该将变量保存到Symfony会话中?如果是,怎么做
  • 或者我应该通过Ajax发送sfWebRequest吗?如果是,如何发送

  • 谢谢。

    对于
    executeMyComp
    之前的函数,您可以使用
    preExecute
    函数。它们在实际操作之前运行,您可以通过使用getModuleName和getActionName方法检查代码是否为特定操作来编写代码

    关于第二个问题,我总是使用jqueryajax函数,因为使用原型Ajax总是会有一些冲突。它的使用非常简单,您可以将请求中的值发送到特定的操作。所以不需要将它们添加到会话中

    $(document).ready( function(){
        $.ajax({
                type: "POST",
                url: "your action URL",
                data: fields, // this fields variable(a string full of parameters) will be sent by request and you can get them using getParameter
                success: function(data){
                    //if everything goes well you come here.here you can show your response.
                }
            });
    });
    
    当然,在通过ajax发送属性之前,无需说明您可以通过jquery将属性保存到变量,如下所示:

    var myvar=$("#componentid").val();