Bonjour,
Je débute en ajax mais avant je n'avais pas ce problème
Le but de mon code : lors d'une inscription vérifier automatiquement si le pseudo choisi est disponible (comme lorsque l'on s'inscrit sur ce forum d'ailleurs)
J'ai essayé de plusieurs manières notamment avec "prototype.js" que vous connaissez surement
function dispo_user(pseudo){ send = "pseudo="+pseudo; var ajax = new Ajax.Updater ("message","dispo_user.php", { evalScripts:true, parameters: send, method:'POST', onComplete: onFinish() } ); function onFinish(){ } }
j'ai essayé également de cette façon
// On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ reponse = xhr.responseText; document.getElementById('message').innerHTML = reponse; }else{ alert(xhr.responseText); } } // Appel de la page en méthode POST xhr.open("POST","dispo_user.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // envoi des arguments xhr.send("pseudo="+pseudo);
(en définissant au préalable xhr)
Les faits :
en local sur mon PC cela fonctionne
en local sur un MAC cela fonctionne aussi
en ligne sur un serveur de celeonet.fr cela fonctionne aussi
mais quand je mets en ligne sur le 60GP de ovh le serveur de destination cela me retourne une erreur 500
Après de multiple test j'ai découvert que c'est le xhr.status qui n'est pas égal à 200 mais à 500 d'où l'erreur
ce qui m'étonne c'est que l'ajax est un code qui s'éxécute côté client même si je fais appelle à du php pour avoir ma réponse le serveur ne devrait pas poser de problème
Si quelqu'un pouvait m'aider pour résoudre ce problème je l'en remerci d'avance