我的控制器中带有 ajax 的 Symfony 调用函数[关闭]
Posted
技术标签:
【中文标题】我的控制器中带有 ajax 的 Symfony 调用函数[关闭]【英文标题】:Symfony call function in my controller with ajax [closed] 【发布时间】:2020-10-18 21:55:25 【问题描述】:我想用 ajax 在我的控制器中调用一个函数
我真的是初学者,我真的不明白我需要做什么
/**
* @Route("/Article/id/vote", name="article_vote")
*/
public function vote($idArticle, $vote, Request $request, ObjectManager $manager)
<script>
$(document).on('click', '.ajax', function()
that = $(this);
$.ajax(
url:' (path('don't know')) ',
type: "POST",
dataType: "json",
async: true,
);
return false;
);
</script>
【问题讨论】:
请编辑您的问题并添加更多代码(函数注释)。 我这样做了,但我认为它有点没用,因为我想在没有路由的函数上转换它 -> 然后如何在树枝上调用它 为什么要删除路由? 因为我不想更改页面或重置此页面/它的功能就像我们在 *** 上对文章进行投票一样 您有 2 个选项:让模板保持原样,并在控制器中返回对文章详细信息页面的重定向。投票功能将投票并将用户发送回文章页面。投票动作可以放置一条闪光消息,您可以在文章页面上显示该消息。第二种选择是使用 ajax 调用操作。点击按钮并进行 ajax 调用,还有更多关于如何做到这一点的教程。 ***.com/questions/42221356/… 【参考方案1】:最后我的函数的路径需要在 url :
我添加了一个成功和错误函数
% block javascripts %
<script>
$(document).on('click', '#ajax', function()
that = $(this);
$.ajax(
url : ' path('post_like', 'id' : article.id) ',
type : 'POST',
dataType : 'html',
success : function(code_html, statut)
code = JSON.parse(code_html);
,
error : function(resultat, statut, erreur)
);
return false;
);
</script>
% endblock %
我需要添加一个返回 json
/**
* @Route("/article/id/like", name="post_like")
*/
public function vote(Article $article, Request $request, ObjectManager $manager, ArticleLikeRepository $likeRepo) : Response
return $this->json([
'code' => 200,
'likes' => $likeRepo->count(['article' => $article])], 200);
【讨论】:
你能分享更多细节吗?如果没有路由,这如何工作? 这只是一个错误。一开始我在想我需要调用一个函数而不用路由来调用ajax。以上是关于我的控制器中带有 ajax 的 Symfony 调用函数[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Symfony2 - KnpPaginator - AJAX/嵌入式控制器
如何使用 Symfony 和 Jquery 发出 POST Ajax 请求