post de données ajax, PHP et renvoyer des données
Comment puis-je publier certaines données ajax à la fonction de contrôleur et de le récupérer? Je veux afficher un entier à la fonction, on obtient un autre nombre entier (nombre total de votes pour l'élément dont l'ID est affiché), et sur le succès je veux écho que le décompte des voix.
Je ne sais pas comment je peux poster le "id" de la fonction de contrôleur. Veuillez voir mon code:
//post this integet
the_id = $(this).attr('id');
$.ajax({
type: "POST",
data: the_id,
url: "http://localhost/test/index.php/data/count_votes",
success: function(){
//the controller function count_votes returns an integer.
//echo that with the fade in here.
}
});
OriginalL'auteur billa | 2011-07-07
Vous devez vous connecter pour publier un commentaire.
dans le contrôleur
Clarification
je pense que vous confondez
avec
à la fois la
data
sont différentes pour votre propre plus de clarté, vous pouvez le modifier comme$("span#votes_number").html(number);
voir la
$data
recevrez l'ID que vous avez envoyé par le client sur la base de cetteID
probablement, vous allez faire un peu de traitement et de calculer latotal votes
puisecho
lavoteCount
que vous avez calculé et le recevoir dans lasuccess
rappel ensuite, vous pouvez afficher levoteCount
où vous le voulez, je vais modifier la réponse un peu avoir un coup d'oeilmerci homme. il fonctionne, mais Im me demandais pourquoi cela ne fonctionne pas si je
echo "yourVoteCount";
dans le numéro du contrôleur, mais ne fonctionnent pas si jereturn yourVoteCount;
dans ce cas, je l'habitude d'obtenir toutes les données sur la réussite. quel est la raison? merci encore.echo des impressions de sortie à la page à afficher dans le navigateur, je ne sais pas, mais vous pouvez essayer d'utiliser
print
au lieu de echo ... j'ai moi-même n'est pas très bien pourquoi le retour ne peut pas être utilisé peut quelqu'un d'autre se l'expliquer mieux..OriginalL'auteur Rafay
Pour le JS, essayez
et
en PHP
OriginalL'auteur Marc B
Donc, ce n'est count_votes ressembler? Est-il un script? Tout ce que vous voulez obtenir de l'appel ajax peuvent être récupérées en utilisant un simple echo (bien sûr, vous pourriez utiliser JSON ou xml, mais pour cet exemple simple, vous n'avez qu'à la sortie de quelque chose de count_votes.php comme:
C'est juste de pseudo, mais devrait vous donner l'idée. Ce que jamais vous l'écho de count_votes sera ce qui est retourné aux "données" de votre appel ajax.
$("span#votes_number").html(number);
Donc, à l'aide de votre exemple, la valeur de sortie à partir de votre "count_votes" script va être interprété comme la "data" variable javascript, et donc $("span#votes_number").html(data);
merci homme. Im me demandais pourquoi cela fonctionne si je echo $de la voix dans le contrôleur, mais ne fonctionnent pas si je "retourner" le $nombre de voix?
L'ajax réponse est à la recherche d'un certain type de données de sortie. Depuis PHP est exécuté côté serveur, vous devez "echo" une sorte de réponse au client le code côté. C'est le seul moyen pour elle de recevoir la sortie.
OriginalL'auteur serialworm