begin process at 2012 05 29 01:46:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

[ajax]Erreur sur multiples HTTPRequest


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[ajax]Erreur sur multiples HTTPRequest

mardi 27 juin 2006 à 02:16:49 | [ajax]Erreur sur multiples HTTPRequest

WhiteDwarf

Membre Club
Bonjour, j'ai réalisé un code d'envoie d'email en ajax, mais je me confronte à un problème :

Je récupère en ajax la liste de contact msn d'un utilisateur, à cette liste je rajoute ceux qu'il a voulu rentrer à la main. Jusque la pas de problème

Ensuite j'initie une deuxième session HTTPRequest et avec celle ci, pour chaque email, j'appelle la page php d'envoie d'email. Simplement c'est la que j'ai une erreur :

Error: [Exception... "Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIXMLHttpRequest.send]"  nsresult: "0xc1f30001 (NS_ERROR_NOT_INITIALIZED)"  location: "JS frame :: http://www.thevphone.com/azerty/index.php?page=amis&user=&lang=en :: anonymous :: line 376"  data: no]
Source File: index.php?page=amis&user=&lang=en
Line: 376

Voici la fonction en question :

function valider() {

var msg_erreur;
var msg_test;
msg_erreur = "";
msg_test = "1";
  // si la valeur du champ prenom est non vide
  if(document.formulaire.nom.value == "") {
  msg_erreur = "- <? echo $err_nom; ?> \n";
  }
  if(document.formulaire.nom_utilisateur.value == "") {
  msg_erreur = msg_erreur + "- <? echo $err_username; ?>\n";
  }
  if(document.formulaire.adress_email.value == "") {
  msg_erreur = msg_erreur + "- <? echo $err_mail; ?>\n";
  }
  if(document.formulaire.message.value == "") {
  msg_erreur = msg_erreur + "- <? echo $err_message; ?>\n";
  }
 




  // Affichage d'erreur si il y a sinon HTTPRequest....
 
  if(msg_erreur != "") {
  alert(msg_erreur);
  return false
  }
  else
  {
  // on récupère les emails entrés à la main
    var nbr;
    nbr = 0;
    var email_liste;
    email_liste = "";
    for(yo=0;yo<document.formulaire.liste.length;yo++){
        email_liste = email_liste + document.formulaire.liste.options[yo].value + "|";
        nbr++;
        }   
        // si il n'y a pas d'emails définis à la main et qu'il n'y a pas de login et pass pour compte IM, erreur...
    if (nbr==0 || document.formulaire.username.value=="" || document.formulaire.password.value=="") {
        alert('<? echo $err_num_dest; ?>');
    }
    else
    {
   
    // HTTPRequest en AJAX
  if(document.all) {
    // Internet Explorer
    var obj = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
    // Mozilla
    var obj = new XMLHttpRequest();
}


// On cache le formulaire et on affiche le div de chargement
    DivStatusOff('contenu');
    DivStatusOn('reponse');
   

      var content = document.getElementById('reponse');
    content.innerHTML = "<h2><? echo $amis_title; ?></h2><p><img src=\"images/spinner.gif\" align=\"absmiddle\"> <? echo $amis_envoi; ?></p>";
   
// On ouvre la connexion au fichier d'import d'emails
    obj.open("POST", 'im_import.php');

    obj.onreadystatechange = function() {
        if (obj.readyState == 4 && obj.status == 200) {
        if (obj.responseText != "") {
            // On récupère tous les emails
            var liste_e_d = obj.responseText ; //Réponse//
            liste_e_d = liste_e_d + email_liste;
            var liste_e_e = liste_e_d.split('|'); //Explode//
            var liste_e_c = liste_e_e.length; //Nombre de rows//
            var liste_e_aff = "";
           

                if(document.all) {
                    // Internet Explorer
                    var obj2 = new ActiveXObject("Microsoft.XMLHTTP");
                }
                else {
                    // Mozilla
                    var obj2 = new XMLHttpRequest();
                }
                obj2.open("POST", 'test_email.php');
               
                var i = 0;
               
                obj2.onreadystatechange = function() {
                if (obj2.readyState == 4 && obj2.status == 200) {
                content.innerHTML = obj2.responseText;
                if (i < (liste_e_c - 1)) {
                i++;
                obj2.send("test="+liste_e_e[i]);
                }
                }
                }
               
               
                obj2.send("test="+liste_e_e[0]);


                }
            }
    }
   
    // Requête sur le fichier d'import de contacts avec login et pass IM
    var data = "";
    obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    data = "msp=hotmail&imuser=" + document.formulaire.username.value + "&impass=" + document.formulaire.password.value;
       
    obj.send(data);
   

    }
   
    }
   
}

C'est au niveau du code en gras que ce situe le problème, mais après avoir passé quelques heures sur ce problème j'abandonne et je me remet à votre savoir ^^

Merci d'avance de votre aide...

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------

jeudi 5 octobre 2006 à 15:11:22 | Re : [ajax]Erreur sur multiples HTTPRequest

rubiks10

Membre Club
Salut j'ai été confronté au meme probleme et moi je l'ai résolu en effectuant des requetes programmées...

Pour etre plus simple par exemple tu lances chaque requete avec un timer.

Et chaque requete espacée de 100ms voilà après a toi de tester différentes periodes d'espacement...

En espérant que cela te serves...

--The Rubik's Man--
lundi 9 octobre 2006 à 14:01:12 | Re : [ajax]Erreur sur multiples HTTPRequest

WhiteDwarf

Membre Club
Merci pour le conseil, bien que je ne saches pas utiliser les timers en js, je vais jeter un oeil à tout ca.

@+

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------



Cette discussion est classée dans : erreur, liste, var, document, msg


Répondre à ce message

Sujets en rapport avec ce message

Changer le style de la dernière lettre d'un serpent de texte. [ par Lea19 ] Salut a tous , Je fait un petit site sans ambition puis je découvre l' univers des scripts et tous le reste... Je me prend la tête pas possible su Conserver selection liste déroulante [ par mageek06 ] Bonjour, j'ai une liste déroulante en php et lorsque je la soumet j'aimerais garder la derniere sélection de ma liste déroulante : [code=js]function Submit avec une image en Ajax : Envoi de formulaire [ par romi36 ] Bonjour a tous, Je suis en train de dévelloper un site, et je me suis mis a l'ajax, je trouve personnellement cela passionant. J'ai par contre une e Controle de saisie (boucle) [ par jagogordonne ] Bonjour à tous sur mon application je voudrais rajouter un controle de saisie de l'utilisateur. Il ne faudrait pas qu'il puisse saisir 2 fois le meme Coordonnées et taille d'une DIV [ par gegar12 ] Tout d'abord, je viens de m'inscrire sur ce forum et je salue tous ses membres. J'ai trouvé un script qui me permet de bouger des calques (div) et qu concaténation variables ... [ par mageek06 ] Bonjour j'ai ceci : [code=js]var date1j = document.getElementById("date1j"); var date1m = document.getElementById("date1m"); var date1a = document. galerie simple avec image grossissante au survol et replacement auto [ par The Pooh ] Bonjour à tous. peut être que ce topic existe déjà (cela ne m'étonnerai pas :) mais je ne lai pas trouvé. Voilà j'ai ce script avec ses variable que play auto ???? [ par dingofou ] Bonjour a tous j'ai pas mal cherche sans trouver, je voudrais savoir comment fait-on pour proteger un fichier audio.mp3.Que l'on puisse seulemnt l'ec Feux d'artifice ne marche pas sous FF [ par kepon72 ] Bonjour, Voila j'ai trouver un code sur le net que j'aimerais mettre dans mon site or le problème est qu'une erreur de compatibilité à lieu mais aprés


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales