roustif a écrit :
Bonjour,
J'ai une application Php/MySQL qui comprend une page ou s'affiche une arborescence de Villes en JavaScript.
Cette arborescence fonctionne très bien chez les clients sauf chez un.
Une erreur apparait:
bad server response : typeError: xmlhttp.responseXML is null
cette erreur provient surrement de cet endroit dans mon code:
Code :
- //send request
- var xmlhttp = DBTreeView.getHTTPObject();
- xmlhttp.onreadystatechange = function (){
- if(xmlhttp.readyState == 4){
- if(xmlhttp.status!=200){
- alert("Problem retrieving XML data" );
- }
- try{
- //alert("Server response: "+xmlhttp.responseText);
- var responseElem = xmlhttp.responseXML.documentElement;
- var response = DBTreeView.XMLChildrenResponse.getInstance(responseElem);
- callback(response);
- }catch(e){
- var text = xmlhttp.responseText;
- alert("Error:\n bad server response: "+e+"\nData:"+text);
- }
- }
- }
|
Cette application est installé sur d'autres serveur et fonctionne parfaitement bien... Pour quelles raison cela pourrait-il bloquer?
merci de votre aide
|
C'est peut-être l'objet xmlhttp qui est vide.
Il faudrait faire un test (xmlhttp != null) avant de récupérer la réponse :
Code :
- var xmlhttp = DBTreeView.getHTTPObject();
- if (xmlhttp != null)
- {
- xmlhttp.onreadystatechange = function (){
- if(xmlhttp.readyState == 4){
- if(xmlhttp.status!=200){
- alert("Problem retrieving XML data" );
- }
- }
- }
- var responseElem = xmlhttp.responseXML.documentElement;
- var response = DBTreeView.XMLChildrenResponse.getInstance(responseElem);
- callback(response);
- }
- else
- alert("Votre navigateur ne gère pas l'objet XMLHTTPRequest" );
|
Cela dit à moins d'avoir un navigateur spécifique, XMLHTTPRequest utilisé pour l'AJAX est géré par les navigateurs courants.
Sinon +1 pour Pascal le nain, à moins d'avoir des pré-requis spécifiques (pas de libs externes ...).
edit1 : mise en forme
edit2 : je serais d'avis à déplacer le code sur responseElem, response dans le else de (xmlhttp.status != 200) aussi, car à priori ces données ne devraient pas exister en cas d'échec de la requête à moins qu'elles soient toujours remplies quelquesoit le retour de la requête Ajax.
Message édité par FranceDenBas le 16-08-2010 à 09:54:34
---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.