IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[Javascript][XUL] un setAttribute après un XMLHttpRequest


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut [Javascript][XUL] un setAttribute après un XMLHttpRequest
    Bonjour,

    Je travaille sur une extension de Firefox, en XUL, et j'ai un problème dans l'une de mes fonctions que voici :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    function Zar(){
    	var ticket = getTicket();
    	p = new XMLHttpRequest();
    	p.onload = null;
    	p.open("POST", "http://xxxxx/general.asmx?WSDL", true); 	
    	p.setRequestHeader("SOAPAction", "https://xxxxx/general");
    	p.setRequestHeader("Content-Type","text/xml; charset=utf-8");
    	try{
    	          p.send("<?xml version='1.0' encoding='utf-8'?>"+
    			"<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>"+
    			  "<soap:Header>"+
    			   "<essai xmlns='https://xxxxx/general'>"+
    			      "<ticket>"+ticket+"</ticket>"+
    			   "</essai>"+
    			  "</soap:Header>"+
    			  "<soap:Body>"+
    			    "<NomMethode xmlns='https://xxxxxx/general' />"+
    			  "</soap:Body>"+
    			"</soap:Envelope>");
    		
    	}catch(error){
    		alert("le send n'a pas marche");
    	}
    	alert("ready"); 
    	if ( p.status != "200" ){
    		alert("Probleme a l'identification, veuillez recommencer");
    	}else{
    		var contenu = p.responseXML;
    		var val = contenu.getElementsByTagName("NomMethodeResult")[0].firstChild.nodeValue;
    		if (window.opener.document.getElementById("Zar") != null){
    	                          window.opener.document.getElementById("Zar").setAttribute("tooltiptext",val);
    		}else{
    			alert("probleme");
    		}
    	}
    }
    Ce script marche parfaitement.
    Ce qui est bizarre, c'est que si je mets le alert("ready"); en commentaire, il ne marche plus.
    Quelqu'un aurait-il une idée sur la question?

  2. #2
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Attention, tu confonds XHR synchrone (comme tu fais) et XHR asynchrone...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	p.open("POST", "http://xxxxx/general.asmx?WSDL", false);

  3. #3
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut
    Super, merci beaucoup
    Je n'ai même pas pensé à vérifier de ce côté-là!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/11/2011, 09h47
  2. [AJAX] Style différent après traitement XMLHttpRequest
    Par gégé140488 dans le forum AJAX
    Réponses: 0
    Dernier message: 23/12/2010, 22h10
  3. [PHP/Javascript] Script php à executer après confirm()
    Par titinesaku dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 17/04/2009, 14h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo