Php Symfony2控制器和Javascript参数传递
我正在使用symfony2开发一个应用程序。我想知道如何从控制器中的模板接收参数,因为我想将参数的值存储在数据库中。参数将在模板内的JavaScript脚本中获取其值,并且在提交按钮时必须传递给控制器。以下是脚本:Php Symfony2控制器和Javascript参数传递,php,javascript,jquery,symfony,Php,Javascript,Jquery,Symfony,我正在使用symfony2开发一个应用程序。我想知道如何从控制器中的模板接收参数,因为我想将参数的值存储在数据库中。参数将在模板内的JavaScript脚本中获取其值,并且在提交按钮时必须传递给控制器。以下是脚本: $("MatchedTag").click(function () { $(this).toggleClass("highlight"); var IdOfTag = this.id; }); 我希望在控制器中接收的变量是IdOfTag。
$("MatchedTag").click(function ()
{
$(this).toggleClass("highlight");
var IdOfTag = this.id;
});
我希望在控制器中接收的变量是IdOfTag。我该怎么做?谢谢 您可以使用AJAX传递变量查看,-jQuery或添加一个隐藏的输入字段以形成所需的值 实例 如果您想使用jQuery.ajax将IdOfTag传递给/path/controller/tags作为示例,您的代码如下所示:
$("MatchedTag").click(function ()
{
$(this).toggleClass("highlight");
var IdOfTag = this.id;
$.ajax({
url: "/path/controller/tags",
type: "POST",
data: { "tag_id" : idOfTag },
success: function(data) {
//(success) do something...
//variable "data" contains data returned by the controller.
}
});
});
然后在控制器中,您可以通过$\u POST[tag\u id]获得idOfTag的值
查看并检查上面的链接。您可以使用AJAX传递变量查看,-jQuery或添加一个隐藏的输入字段以形成所需的值 实例 如果您想使用jQuery.ajax将IdOfTag传递给/path/controller/tags作为示例,您的代码如下所示:
$("MatchedTag").click(function ()
{
$(this).toggleClass("highlight");
var IdOfTag = this.id;
$.ajax({
url: "/path/controller/tags",
type: "POST",
data: { "tag_id" : idOfTag },
success: function(data) {
//(success) do something...
//variable "data" contains data returned by the controller.
}
});
});
然后在控制器中,您可以通过$\u POST[tag\u id]获得idOfTag的值
请仔细查看上面的链接。在我们的应用程序中,我们使用两种方法 第一种方法 第一种方法是在twig中创建配置文件,该文件将包含在头文件的某个地方。此文件包含脚本中需要的所有JS变量。这些变量的值从控制器传递。然后在参数文件的细枝模板中,只需将它们添加到适当的位置:
<script>
myObj.var = "{{ var_from_controller }}";
</script>
第二种方法
另一种方法是将所需的变量放入html标记的其他自定义属性中。我们通常在需要走特定路线的时候这样做
<p id="myDataHolder" data-src="{{ path('MyUserBundle_ajax_route') }}">blah</p>
然后,在JS中,您只需解析该标记的属性。在我们的应用程序中,我们使用两种方法 第一种方法 第一种方法是在twig中创建配置文件,该文件将包含在头文件的某个地方。此文件包含脚本中需要的所有JS变量。这些变量的值从控制器传递。然后在参数文件的细枝模板中,只需将它们添加到适当的位置:
<script>
myObj.var = "{{ var_from_controller }}";
</script>
第二种方法
另一种方法是将所需的变量放入html标记的其他自定义属性中。我们通常在需要走特定路线的时候这样做
<p id="myDataHolder" data-src="{{ path('MyUserBundle_ajax_route') }}">blah</p>
然后,在JS中,您只需解析该标记的一个属性。请更具体一点,举个例子@Karo。ThanksI做了,但没有代码说明我如何在一个细枝模板中使用它来将变量传递给控制器,我完全不知所措。请提供一些帮助,请更具体一些,请@Karo提供一些示例。ThanksI做了,但没有代码说明我如何在一个细枝模板中使用它来将变量传递给控制器,我完全不知所措。为了完整性,请提供一些帮助:jQuery可以直接访问数据属性,例如上面的示例“myDataHolder”。为了完整性,数据“src”:jQuery可以直接访问数据属性,例如上面的示例“myDataHolder”。数据“src”