Symfony中的基本Ajax

Basic Ajax in Symfony

本文关键字:Ajax Symfony      更新时间:2023-09-26

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

提前非常感谢!

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

树枝坦帕尔特

{% 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 编码数据作为内容。

这应该可以正常工作:)

编辑 :您可以在官方文档中查看有关它的更多信息