我正在从事Symfony2项目。现在要添加一些动态操作。
我想使用jQuery和Ajax调用以及API。
下面我写了我的项目模型。
问题是我放在哪里?在图片上。
例如,我在页面中有评论,并有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/