2010-11-05 4 views
2

Comme le titre l'indique, j'essaie d'appeler un service web écrit en ASP.Net (même solution, mais projet différent en visual studio) depuis javascript. Depuis que j'ai ajouté la référence web pour le service avant de l'appeler dans VB.Net, j'ai essayé d'utiliser cette référence en l'appelant directement.Comment appeler un service Web ASP.Net en javascript

Dans le corps de la page Default.aspx, j'ai ce code:

<asp:ScriptManager id="ScriptManager1" runat="server"> 
<Services> 
<asp:ServiceReference Path="~/App_WebReferences/localhost/ServiceName.discomap" InlineScript="true" /> 
</Services> 
</asp:ScriptManager> 

mais en javascript, je ne peux pas appeler mon service du tout. Quelqu'un pourrait-il m'expliquer comment? Je veux faire quelque chose comme ceci:

<script type="text/javascript"> 
alert(ServiceName.HelloWorld()) 
</script> 
+0

Ceci est une caractéristique majeure d'Ajax. Tout outil Ajax vous aidera à effectuer des appels de service Web et à traiter les résultats. – DOK

+1

dupliquer la question avec suivant http://stackoverflow.com/questions/1949688/how-can-i-call-web-service-methods-from-javascript http://stackoverflow.com/questions/2111234/calling-web- service-from-javascript-whats-it-doing-under-the-hot –

Répondre

2

enfin trouvé ce que je pense est la bonne façon de le faire, il n'a pas besoin jQuery du tout, ni HTTPRequest ou toute solution bizarre. Voici le code associé:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <script src="WebService.asmx/js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function callback(msg) { 
      alert(msg); 
     }; 

     function HelloWorld() { 
      WebService.HelloWorld(callback); 
     }; 
    </script> 
    <title></title> 
</head> 
<body> 
    <div id="test" onclick="HelloWorld();"> 
     click this 
    </div> 

    <form id="form1" runat="server"> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"> 
     <Services> 
     <asp:ServiceReference Path="~/WebService.asmx" /> 
     </Services> 
    </asp:ScriptManager> 
    </form> 
</body> 
</html> 
+0

Bonjour, J'ai essayé de suivre votre solution pour appeler les services web en ASP.NET en javascript. Mais j'ai échoué. Pouvez-vous s'il vous plaît me donner quelques conseils ici (merci beaucoup): http://stackoverflow.com/questions/16976104/fail-to-call-webservices-in-asp-net-in-javascript – mjb

Questions connexes