fonction Ajax qui marche très bien sous IE mais pas sous Mozilla

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : fonction Ajax qui marche très bien sous IE mais pas sous Mozilla

Re: fonction Ajax qui marche très bien sous IE mais pas sous Moz

par Aurélien Barbier-Accary » 31 déc. 2009, 17:18

il faut inverser l'ordre de tes tests au début dans tes if et try/catch.
Utilise plutôt ceci :
var xhrObject = null;
try {
xhrObject = new ActiveXObject('Msxml2.XMLHTTP');
} catch (err1) {
try {
xhrObject = new ActiveXObject('Microsoft.XMLHTTP');
} catch (err2) {
try {
xhrObject = new XMLHttpRequest();
}
catch (err3) {
alert('Your Browser does not manage XMLHttpRequest nor ActiveXObject/XMLHTTP objects');
return null;
}}}
return xhrObject ;

fonction Ajax qui marche très bien sous IE mais pas sous Moz

par dogmongo » 23 mai 2009, 11:35

Bonjour,

Comme je le dis dans le titre
J'utilise cette fonction sous internet exporer sans problème, mais sous mozilla ca ne fonctionne pas du tout, j'aimerai vraiment comprendre pourquoi ?

Code : Tout sélectionner

function getXhr(){ var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr } function go() { var xhr = getXhr(); xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200) { document.getElementById('affiche').innerHTML = xhr.responseText; } } xhr.open("POST",'test.php',true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send(); }
merci d'avance