[SF2] Ajax et update database
Bonjour à tous,
J'aurais besoin de votre aide pour une mise à jour de base de données avec Ajax. Le but est que l'utilisateur entre dans un champ input une valeur pour le score d'un match et que celui-ci soit mis à jour en base sans rafraichissement de la page. J'ai fait le tour des forums, de la doc jquery mais impossible de trouver l'erreur..
vue :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
<script>
function updateResult(score, game_id, team_id)
{
//alert("score : " + score + ", game_id : " + game_id + ", team_id : " + team_id);
//var ok = true;
//***************************************************************************************
var path = "{{ path('basket_admin_tournament_update') }}";
var request = $.ajax({
type: "POST",
url : path,
data: {'score': score, 'game_id': game_id, 'team_id': team_id},
success: function(data){
alert("ok");
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
// alert(request);
//alert(ok);
//***************************************************************************************
//return ok;
}
</script>
<h3>Planning</h3>
{% for step in tournament.Steps %}
<p>{{ step.name }}</p>
{% if step.name == "Poule" %}
{% for pool in step.pools %}
<p>{{ pool.name }}</p>
{% for game in step.games %}
{% if (game.team1 in pool.teams) or (game.team2 in pool.teams) %}
<p>{{ game.dateGame|date('h:m:s') }} : {{ game.team1.name }} <input type="text" onblur="updateResult(this.value, {{ game.id }}, {{ game.team1.id }})"> - <input type="text" onblur="updateResult(this.value, {{ game.id }}, {{ game.team2.id }})"> {{ game.team2.name }}</p>
{% endif %}
{% endfor %}
{% endfor %}
{% else %}
{% for game in step.games %}
<p>{{ game.team1.name }} - {{ game.team2.name }}</p>
{% endfor %}
{% endif %}
{#% for pool in step.pools %}
<p>{{ pool.name }}</p>
{% endfor %#}
{% endfor %} |
controller :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
public function updateAction($score, $game_id, $team_id) {
/*$em = $this->getDoctrine()->getManager('tournament');
$tournament = $em
->getRepository('BasketTournamentBundle:Game')
->updateTeam1Game($score, $game_id, $team_id);
$tournament->execute();
*/
echo 'OK';
} |
routing :
Code:
1 2 3 4
|
basket_admin_tournament_update:
path: /update
defaults: { _controller: BasketTournamentBundle:Tournament:update } |
Je tombe toujours dans "error" ...
Qui s'y connait assez en jquery/ajax/sf2 ?