jQuery ajax responseText 'undefined'
J'ai un peu de jQuery, qui publie deux variables dans un script php. Le PHP est très simple et retourne une chaîne de caractères en fonction de ce que c'est donné, c'est à dire 'mise à jour réussie" que je voudrais utiliser d'une certaine façon sur la page.
La première fois que je clique je reçois une alerte disant 'undefined', plus de clics et tout fonctionne bien. Assez sûr que je ne suis pas loin, mais je ne peux pas travailler sur ce problème!
J'ai utilisé firebug et les données sont affichées et la bonne réponse est reçue sur toutes les tentatives.
$(document).ready(function(){
$('#updatehol').click(function() {
additions = $('#additions').attr('value');
deductions = $('#deductions').attr('value');
datastring = 'additions='+ additions +'&deductions='+ deductions;
$.ajax({
type: "POST",
data: datastring,
url: "doadjust.php",
complete: function(data) {
alert(data.responseText);
}
});
});
});
Vous devez vous connecter pour publier un commentaire.
Triées. Besoin
async: false
option dans la fonction Ajax.data
paramètresuccess
n'a pas un tel champ. Essayez de rendre asynchrone à nouveau.Ce que vous obtenez avec juste un
alert(data)
??btw c'est un succès pas complète:
$('body').html(data);
sidata
est un objet...Cela fonctionne pour moi.
Vous devez ajouter
json
type, ex.:C'est une vieille question, mais je viens de tomber sur le même problème et trouvé la réponse dans le jQuery docs.
responeText et responseXml ne sont polulated lors de l'utilisation de type de données: texte ou xml. Si vous utilisez d'autres types de données, il sera passé comme premier paramètre dans votre réussite de rappel.
De l'jQuery Docs: