Javascript Symfony-Ajax和Twig
我正在从事Symfony2项目。现在我想添加一些动态动作。 我想使用jQuery、Ajax调用和API 下面我写了我的项目模型。 问题是我把“?”放在了图片上 例如,我在我的页面中有注释和两个按钮“最旧”“最新” 基本上在页面上加载小枝加载评论到我的视图,一切正常。 然后我想点击按钮来改变显示评论的方式。但您希望在不重新加载页面的情况下执行此操作。 我单击btn->运行JavaScript->将byt AJAX与API控制器连接->从数据库中取回数据。。。我被困在这里了 我有JSON格式的数据,但不知道如何将它们加载到我的视图中,而不是在开始时由Twig加载的日期 这是我实现网页动态变化的一道严重障碍。 思考:Javascript Symfony-Ajax和Twig,javascript,jquery,ajax,symfony,twig,Javascript,Jquery,Ajax,Symfony,Twig,我正在从事Symfony2项目。现在我想添加一些动态动作。 我想使用jQuery、Ajax调用和API 下面我写了我的项目模型。 问题是我把“?”放在了图片上 例如,我在我的页面中有注释和两个按钮“最旧”“最新” 基本上在页面上加载小枝加载评论到我的视图,一切正常。 然后我想点击按钮来改变显示评论的方式。但您希望在不重新加载页面的情况下执行此操作。 我单击btn->运行JavaScript->将byt AJAX与API控制器连接->从数据库中取回数据。。。我被困在这里了 我有JSON格式的数据
- 在JavaScript中创建所有视图,并使用jQuery like.html()之类的东西替换视图中的细枝数据——但是JavaScript脚本中会有很多html代码,不确定这是正确的方法
也许您知道如何以更优雅的方式解决这个问题?这不是一个小问题,而是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
}));
});
}
});
$.ajax({
键入:“POST”,
url:“{path('my_symfony_route')}}”,
数据:{param1:'value',param2:'value'},
数据类型:“json”,
成功:函数(数据){
//处理JSON数据以更新DOM
$.each(数据、函数(索引、元素){
$('#myDivId')。追加($(''){
text:element.name
}));
});
}
});
s响应者:谢谢你的回答,现在我想我会处理好的。还有一个问题。如果我必须创建大量HTML代码作为响应,我应该将这些代码保存在哪里?在JS scrpit中?我不想把我的项目搞得一团糟,想放弃web标准。感谢you@RadekS我将把html片段放在AJAX回调中调用的JS函数中。或者更好地使用JQueryload
函数。这样,load函数调用一个标准URL,该URL根据需要呈现片段并将其放入div中。