Salut !!
J'ai un petit soucis pour associer onReadyStateChange a une fonction.
Le code est simple :
Le premier alert() me renvoi null. Mais à la ligne d'après, j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function fillContent(url, dest){ this._xmlHttp=getXMLHTTP(); if(_xmlHttp){ alert(_xmlHttp.onreadystatechange); _xmlHttp.onreadystatechange=function(){ alert(_xmlHttp.readyState); } alert(this._xmlHttp.onreadystatechange); _xmlHttp.open('GET', url, false); _xmlHttp.send(null); } }
Hors, dans ce même script, j'utilise une autre fonction similaire qui ne pose, elle, aucun soucis et qui fonctionne comme sur des roulettes :[Exception... "'Permission refusé de créer une classe enveloppante pour un objet de la classe UnnamedClass' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "<unknown>" data: no]
J'utilise ce code pour générer mes _xmlHttp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function fillMenu(url, dest){ this._xmlHttp=getXMLHTTP(); if(_xmlHttp){ _xmlHttp.onreadystatechange=function(){ if(_xmlHttp.readyState==4){ if(_xmlHttp.responseXML) dest.innerHTML+=_xmlHttp.responseText; } } _xmlHttp.open('GET', url, false); _xmlHttp.send(null); } }
J'aimerais donc savoir qu'elle est l'origine de ce caprice.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 function getXMLHTTP(){ var xhr; try{ xhr = new XMLHttpRequest(); if (xhr.overrideMimeType) { xhr.overrideMimeType("text/xml"); } }catch(e){ try{ xhr = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ xhr = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ xhr = null; } } } if(!xhr) alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest."); return xhr; }
S'il y a besoin de détails supplémentaire, n'hésitez pas.
Merci ^^
Partager