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);
}
});
答
的问题是,你试图存取权限的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
为什么人们保持标记Symfony的问题,既[标签:symfony1] **和** [标签:Symfony2的]最近? – Phil
你还没有解释你的问题。 – zerkms
请参阅编辑。 – AnchovyLegend