Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1477 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  JS/Ajax appel d'une fonction de webservice avec un paramètre

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JS/Ajax appel d'une fonction de webservice avec un paramètre

n°1947226
jerem95670
Posté le 04-12-2009 à 10:20:36  profilanswer
 

Bonjour,
 
J'ai développé un Web service ASP .NET qui doit être utilisé obligatoirement depuis du javascript avec internet Explorer.
Pour l'instant j'arrive à appeler les WebMethods de mon webservice qui ne demandent aucun paramètre.
Cela fait un moment que je cherche et aucune des solutions que j'ai trouvé sur le net ne foncionne  :( .
Voici mon code côté WebService:

Code :
  1. [WebMethod]
  2. public void Ajout()   //Celle ci fonctionne, pas de paramètres  :)  
  3. {
  4.     ThreadStart ST = new ThreadStart(lesOperations.ThreadAjout);
  5.     Thread T = new Thread(ST);
  6.     T.Start();
  7. }
  8. [WebMethod]
  9. public void MAJStatutIncident(string refRally) //Celle ci ne fonctionne pas, lorsque je met un point d'arrete je ne passe même pas par là.
  10. {
  11.     ParameterizedThreadStart ST = new ParameterizedThreadStart(lesOperations.ThreadMAJStatut);
  12.     Thread T = new Thread(ST);
  13.     T.Start(refRally);
  14. }


 
Je pense qu'il n'y a pas de problème du côté de mon webservice car j'arrive à appeller cette fonction avec la page générée par visual studio lors du démarrage du webservice.
 
Voici le code de mon Javascript. L'application qui appel mon Webservice a un événement OnSave() qui me permet de faire du JS lors d'une sauvegarde.  
mon code pour la fonction sans paramètre fonctionne :

Code :
  1. var xhr_object = null;
  2. xhr_object = new ActiveXObject("Microsoft.XMLHTTP" ); 
  3. xhr_object.open("POST", "http://localhost:1658/Service1.asmx/Ajout", false); 
  4. xhr_object.send(null); 
  5. if(xhr_object.readyState == 4) alert("Transfert vers rally en cours. Le transfert peut durer quelques secondes.(F5 pour rafraichir)" );
  6. if(xhr_object.readyState == 0) alert("Echec du transfert vers rally." );


celui qui demande un paramètre ne fonctionne pas :

Code :
  1. var data = "refRally=" + crmForm.all.to_ref.DataValue;
  2. var xhr_object = null;
  3. xhr_object = new ActiveXObject("Microsoft.XMLHTTP" ); 
  4. xhr_object.open("POST", "http://localhost:1658/Service1.asmx/MAJStatutIncident", true); 
  5. xhr_object.send(data); 
  6. if(xhr_object.readyState == 4) alert("Recupération du statut rally en cours (F5) pour rafraichir." );
  7. if(xhr_object.readyState == 0) alert("Echec lors de la récupération du statut." );


 
J'ai pourtant l'impression que c'est bon, qu'est ce qui ne va pas ?


Message édité par jerem95670 le 04-12-2009 à 10:47:49
mood
Publicité
Posté le 04-12-2009 à 10:20:36  profilanswer
 

n°1947807
jerem95670
Posté le 07-12-2009 à 09:51:17  profilanswer
 

Je n'ai toujours pas trouvé :(. Des idées ?

n°1947872
gatsu35
Blablaté par Harko
Posté le 07-12-2009 à 13:06:59  profilanswer
 

tu n'as pas compris ce que Ajax veut dire :)


---------------
Blablaté par Harko
n°1947887
jerem95670
Posté le 07-12-2009 à 13:30:51  profilanswer
 

Je suis tout à fait d'accord lol, je m'y connais pas vraiment coté web.
En fait je suis obligé de communiquer avec mon webservice par du Javascript et on m'a dit qu'appeller un serveur depuis Javascript c'était de l'Ajax (quel rapport avec le lave vitre Oo).
 
J'ai vu que la page web générée par VisualStudio faisait des methodes POST, donc j'ai essayé de faire la même chose avec un objet ActiveX, ca fonctionne bien sans paramètre.
Après j'ai lu qu'on pouvait envoyer des paramètres dans l'URL grâce à la methode GET en ajoutant "?" + le nom de la variable + "=" + la valeur entre guillemets. Je n'ai pas reussi à le faire fonctionner de cette manière.
Plus tard j'ai vu qu'on pouvait le faire avec POST en donnant les valeurs dans le send(). Mais ca ne fonctionne pas non plus :(.  
Donc me voilà :)

n°1948464
jerem95670
Posté le 08-12-2009 à 16:07:05  profilanswer
 

Volià j'ai trouvé, il manquait un Header à mon objet :
 

Code :
  1. var xhr_object = null;
  2. xhr_object = new ActiveXObject("Microsoft.XMLHTTP" );
  3. xhr_object.open("POST", "http://localhost:1658/Service1.asmx/MAJStatutIncident", true);
  4. xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded" ); //Le header rajouté
  5. xhr_object.send('refRally='+crmForm.all.to_ref.DataValue);
  6. if(xhr_object.readyState == 4) alert("Recupération du statut rally en cours (F5) pour rafraichir." );
  7. if(xhr_object.readyState == 0) alert("Echec lors de la récupération du statut." );


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  JS/Ajax appel d'une fonction de webservice avec un paramètre

 

Sujets relatifs
Fonction recherche excellPaquetage en paramètre de paquetage générique
Eclipse et Ext JSProbleme, fonction page précédente / suivante
Probleme ajax/javascript[GLSL - branchement conditionnel + appel de fonction]
PB fonction javascript [RESOLU]ada différence fonction, procédure
[JS] Souci d'inclusion de publicité JS dans fenêtre PopUp JS 
Plus de sujets relatifs à : JS/Ajax appel d'une fonction de webservice avec un paramètre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR