Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire
code js :
function addRating(obj,id) {
$(' #tutorial-'+id+' li').each(function(index) {
$(this).addClass('selected');
$('#tutorial-'+id+' #rating').val((index+1));
if(index == $('#tutorial-'+id+' li').index(obj)) {
return false;
}
});

$.ajax({
url:'<?php echo $this->Html->url(array('controller' => 'Programs', 'action' => 'rating')) ?>',
data:'id='+id+'&rating='+$('#tutorial-'+id+' #rating').val(),
    dataType:'json',
    type:"POST",

    success: function (data) {
        alert(data);
    },
    error: function () {
        alert('non');
    }       
});

}

controller Programs
public function rating()
{
die('ok');
$id=$this->request->data['id'];
$rating=$this->request->data['rating'];
$program=TableRegistry::get('Programtimes')->get($id)->first();
$program->rating=$rating;
TableRegistry::get('Programtimes')->save($program);

}

Ce que je veux

je veux que lorsque je clique sur addRating() ,l'action rating() execute

Ce que j'obtiens

l'action rating() n'a pas recu les données

1 réponse


Bonjour.
Pour commencer, ce serait bien que tu édites le contenu de ton sujet pour bien caler les parties de codes entre la balise correspondante, de manière à ce qu'elles soient plus lisibles.
Ensuite, comment se fait-il que ton controller Programs ne semble pas étendre de AppController ?
Penses-tu bien à regarder dans l'onglet Network de la console de l'inspecteur (si tu es sur Chrome bien sur), pour vérifier que la requête s'effectue bien et si elle envoie bien les paramêtres attendues ?