gpt4 book ai didi

javascript - Symfony - Ajax 和 Twig

转载 作者:行者123 更新时间:2023-11-28 06:38:46 24 4
gpt4 key购买 nike

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

下面我写了我的项目模型。 my model

问题是我把“?”放哪里了?就在图片上。

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

基本上在页面上加载 TWIG 加载评论到我的 View 中,一切正常。然后我想单击按钮来更改评论的显示方式。但想要在不重新加载页面的情况下执行此操作。我点击 btn -> 运行 JavaScript -> 通过 AJAX 与 API Controller 连接 -> 从数据库取回数据......我在这里卡住了

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

这是我动态更改网页的路上的一道严重障碍。思考:

  • 在 JavaScript 中创建所有 View ,并使用 .html() 等 jQuery 替换 View 上的 Twig 数据 - 但 JavaScript 脚本中会有很多 HTML 代码,不确定这是正确的方法

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

最佳答案

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

路线:

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

Controller

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com