Symfony中的基本Ajax

问题描述:

我是symfony的新手。目前,我正在将JS文件导入Twig模板。在这个JS文件中,我有一个非常基本的AJAX调用,它无法链接到PHP文件。我想知道是否有人可以建议如何正确链接到Symfony 2中的.php文件?Symfony中的基本Ajax

非常感谢提前!

我无法使用{{ asset() }},因为我不在.twig文件中。

嫩枝Tempalte

{% block jquery %} 
    <script type="text/javascript" src="{{ asset('bundles/foo/js/searchjs.js') }}"></script> 
{% endblock %} 

我的JavaScript searchjs.js

$.ajax({ 
    url: "myfile.php?search=toys", 
    dataType: "html", 
    success: function(data){ 
     alert(data); 
    } 
}); 
+0

为什么人们保持标记Symfony的问题,既[标签:symfony1] **和** [标签:Symfony2的]最近? – Phil

+1

你还没有解释你的问题。 – zerkms

+0

请参阅编辑。 – AnchovyLegend

的问题是,你试图存取权限的URL应该是控制器的URL。例如:

$.ajax({ 
    url: "/my/controller/action/", 
    dataType: "html", 
    success: function(data){ 
     alert(data); 
    } 
}); 

我想,即使您是SF2的新手,您已经了解了控制器是如何工作的。然后你只需要创建一个控制器+一个使用/my/controller/action/的路由。

如果你想要做的是使用json响应,这很简单:在这个控制器操作中,只需返回Symfony\Component\HttpFoundation\JsonResponse作为json编码数据的内容。

这应该工作正常:)

编辑:你可以看到更多关于它here in the official documentation