Reputation: 6461
According to this tutorial https://knpuniversity.com/screencast/symfony/javascript#play I am making an ajax request:
myController.php
/**
* @Route("/pages/{slug}/heart", name="article_toggle_heart", methods={"POST"})
*/
public function toggleArticleHeart($slug){
$id = "5";
return new JsonResponse(['output'=> $id]);
}
mypage.html.twig
<div class="js-like-article-count">
result
</div>
<a class="js-like-article" href="{{ path('article_toggle_heart', {slug:page.slug}) }}">Click</a>
$(document).ready(function () {
$( ".js-like-article" ).on( "click", function(e) {
e.preventDefault();
var $link = $(e.currentTarget);
$.ajax({method:POST, url: $link.attr('href')}).done(function(data){
$('.js-like-article-count').html(data.output);
});
});
});
I expect, that by click on CLICK
the text result
turns into 5
But nothing is happening. In the console I get the error:
ReferenceError: POST is not defined
Upvotes: 0
Views: 3126
Reputation: 1476
Try
<div class="js-like-article-count">
result
</div>
<a class="js-like-article" href="{{ path('article_toggle_heart', {slug:page.slug}) }}">Click</a>
$(document).ready(function () {
$( ".js-like-article" ).on( "click", function(e) {
e.preventDefault();
var $link = $(e.currentTarget);
$.ajax({method:"POST", url: $link.attr('href')}).done(function(data){
$('.js-like-article-count').html(data.output);
});
});
});
Upvotes: 4