[AJAX] XMLhttpRequest successifs
Bonjour,
voilà, je cherche à charger 2 div différentes à l'aide d'un XMLhttpRequest : récupération de widgets...
j'ai donc fait des jolies fonctions qui marchent très bien si je n'en appelle qu'une seule (1 fonction par widget) : voici le code du fichier JS
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| var oXMLHttpRequest;
var sourceHTMLurl_Success = '/include/ajax/getSuccessArticle.asp';
var sourceHTMLurl_Note = '/include/ajax/getSuccessArticle.asp';
var DIVtoDisplay;
var URLtoRead;
var HTMLtoDisplay;
if (window.XMLHttpRequest) {// branch for Netscape and FireFox
oXMLHttpRequest = new XMLHttpRequest();
}
else if (window.ActiveXObject) {// branch for IE
oXMLHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
else {// XMLHttpRequest non supporté par le navigateur
}
function loadNoteArticles(pNumber, pIsCA, pIsOS, pPer, pDIV){
URLtoRead = sourceHTMLurl_Note + '?number='+pNumber+'&isCA='+pIsCA+'&isOS='+pIsOS+'per='+pPer;
DIVtoDisplay = pDIV;
try {netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");}catch (e) {}
//on libère l'objet XmlHttpRequest
if (oXMLHttpRequest){oXMLHttpRequest.abort();}
oXMLHttpRequest.onreadystatechange = LoadXMLDivUpdate;
oXMLHttpRequest.open("GET", URLtoRead, true);
oXMLHttpRequest.send(null);
}
function loadSuccessArticles(pNumber, pIsCA, pIsOS, pDIV){
URLtoRead = sourceHTMLurl_Success + '?number='+pNumber+'&isCA='+pIsCA+'&isOS='+pIsOS;
DIVtoDisplay = pDIV;
try {netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");}catch (e) {}
//on libère l'objet XmlHttpRequest
if (oXMLHttpRequest){oXMLHttpRequest.abort();}
oXMLHttpRequest.onreadystatechange = LoadXMLDivUpdate;
oXMLHttpRequest.open("GET", URLtoRead, true);
oXMLHttpRequest.send(null);
}
function LoadXMLDivUpdate(){
//alert(URLtoRead);
//alert(DIVtoDisplay);
if (oXMLHttpRequest.readyState == 4) {// only if req shows "loaded"
if (oXMLHttpRequest.status == 200) {// only if "OK"
doDivUpdate();
}
}
}
function doDivUpdate(){
// au final, je récupère du HTML et pas du XML
document.getElementById(DIVtoDisplay).innerHTML=oXMLHttpRequest.responseText;
} |
quand j'appelle les 2 fonctions (loadSuccessArticles et loadNoteArticles) l'une après l'autre, rien ne se passe. alors que quand j'en appelle 1 seule, elle s'exécute bien.
j'ai essayé en nommant les objet XMLhttpRequest avec des noms différents, mais ça ne change rien.
quel wagon aurais-je loupé ?
de plus, j'aimerais faire les appels à mes fonctions en dehors du <Body onLoad="">, mais cela ne marche pas dans ce cas... une solution ?
merci de votre aide.