2012-08-06 1 views
0

Est-ce que quelqu'un sait comment utiliser Javascript pour se connecter à un service Web WCF? Tout ce dont j'ai besoin à ce stade, c'est de me connecter au service web, et d'être informé que la connexion a été réussie.Utiliser Javascript pour se connecter au service Web WCF

Est-ce que quelqu'un sait comment je peux faire cela?

+0

'Asynchronous JavaScript and xml' – undefined

Répondre

1

Si votre service WCF est dans le même domaine que vous pouvez utiliser la fonction ci-dessous qui exécuterait l'appel

function TestingWCFRestWithJson() { 
       $.ajax({ 
        url: "http://localhost/Service/JSONService.svc/GetDate", 
        dataType: "json", 
        type: "GET", 
        success: function (data, textStatus, jqXHR) { 
         // perform a success processing 
        }, 
        error: function (jqXHR, textStatus, errorThrown) { 
         // show error to the user about the failure to invoke the service  
        }, 
        complete: function (jqXHR, textStatus) {//any process that needs to be done once the service call is compelte 
        } 
       }); 
      } 

Si votre service WCF est dans un autre domaine autre que votre domaine d'applications appelant alors vous avez besoin pour effectuer un appel JSONP comme indiqué ci-dessous:

function TestingWCFRestWithJsonp() { 
       $.ajax({ 
        url: "http://domain.com/Service/JSONPService.svc/GetDate", 
        dataType: "jsonp", 
        type: "GET", 
        timeout: 10000, 
        jsonpCallback: "MyCallback", 
        success: function (data, textStatus, jqXHR) { 
        }, 
        error: function (jqXHR, textStatus, errorThrown) {  
        }, 
        complete: function (jqXHR, textStatus) { 
        } 
       }); 
      } 
      function MyCallback(data) { 
       alert(data); 
      } 

Lorsqu'un appel JSONP est réalisée à l'aide de JQuery $ .ajax les méthodes complètes/succès/erreur ne sont pas déclenchés plutôt une méthode de rappel comme indiqué est tiré qui doit être traitée par le service WCF. Il existe un attribut "crossDomainScriptAccessEnabled" fourni par l'infrastructure WCF qui identifie si la demande est un appel JSONP et écrit le contenu dans le flux pour appeler la fonction de rappel avec des données. Il est disponible sur l'élément de fixation comme indiqué ci-dessous:

<webHttpBinding> 
     <binding name="defaultRestJsonp" crossDomainScriptAccessEnabled="true"> 
      <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="64" maxNameTableCharCount="2147483647" /> 
      <security mode="None" /> 
     </binding> 
</webHttpBinding> 
1

Étant donné que vous aurait bien écrit/configuré votre/le service WCF, vous devriez être en mesure de charger l'adresse suivante:

http://somedomain.com/somewcfservice.svc/jsdebug 

et appeler les méthodes exposées.

+0

Vous pouvez utiliser un ajax « POST » au service WCF –

+0

ou tout ce que les méthodes acceptent; 'GET',' PUT', 'DELETE' etc ... – xandercoded

Questions connexes