我正在从事Symfony2项目。现在要添加一些动态操作。
我想使用jQuery和Ajax调用以及API。

下面我写了我的项目模型。
javascript - Symfony-Ajax和Twig-LMLPHP

问题是我放在哪里?在图片上。

例如,我在页面中有评论,并有2个按钮“最旧”,“最新”。

基本上在页面上加载TWIG加载评论到我的视图,一切正常。
然后,我想单击按钮以更改显示评论的方式。但是要执行此操作而无需重新加载页面。
我单击btn->运行JavaScript->使用API​​控制器连接byt AJAX->从数据库中取回数据...

我有JSON中的数据,但不知道如何将它们加载到我的视图中,而是开始时由Twig加载的日期。

这是我进行网页动态更改的过程中的一堵严重墙。
思考:


在JavaScript中创建所有视图,并使用.html()之类的jQuery替换视图中的树枝数据-但是JavaScript脚本中会有很多HTML代码,不确定这种方法是否正确


也许您知道如何以更优雅的方式解决该问题?

最佳答案

它不是Twig,而是JQuery。这是一个例子。

路线:

my_symfony_route:
    path:     /get-filtered-list
    defaults: { _controller: "CompanyMyBundle:Comment:getFilteredList" }
    methods:  POST


控制者

public function getFilteredListAction(Request $request)
{
    $param1= $request->request->get('param1');
    $param2= $request->request->get('param2');

    $result = array();
    //Fill $result with DB request

    return new JsonResponse($result);
}


jQuery请求

$.ajax({
    type: 'POST',
    url: "{{ path('my_symfony_route') }}",
    data: { param1: 'value', param2: 'value' },
    dataType: 'json',
    success: function (data) {
        //Handle your JSON data to update the DOM
        $.each(data, function(index, element) {
            $('#myDivId').append($('<div>', {
                text: element.name
            }));
        });
    }
});

关于javascript - Symfony-Ajax和Twig,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34027649/

10-12 00:40
查看更多