Ok J'ai regardé partout pour cela. Je supprime quelques déclarations de variables, car je peux m'assurer que mon XMLHttpRequest fonctionne.Ajax seulement retourner readyState == 4 valeur
function submit_edit_form()
{
// id and title are already declared
var x = ajax_edit_form_save(id, 'title', title);
alert(x);
}
function ajax_edit_form_save(id, property, new_value)
{
if (window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
// screw IE5 & IE6
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.responseText != '')
{
return xmlhttp.responseText;
}
}
// myURL is already defined. I'm not troubleshooting this part, I know it's working
xmlhttp.open("GET", myURL, true);
xmlhttp.send();
}
Alors, quand je l'appelle submit_edit_form(), qui appelle ajax_edit_form_save(), je reçois une alerte 'non défini'. Je sais que le problème est que ajax_edit_form_save() renvoie undefined sur readyState 1. Je me gratte la tête parce que je n'ai le retour que lorsque readyState == 4. Comment puis-je attendre la valeur de retour pour que x obtienne le réel responseText?
mec Je pense que je t'aime. Je n'ai absolument pas pensé à ça. Je suis sur le point de vérifier et je vais vous donner le chèque. –
ok je peux totalement prendre cela et travailler avec. Je vous remercie! –
@Adam Tootle Vous êtes les bienvenus! – naikus