2011-03-15 6 views
1

Je suis confronté à un problème dans la consommation de service wcf. La réponse dans ajax va à la fonction d'erreur. L'url a parfaitement raison.Consommation wcf service dans jquery

$.ajax({ 
      type: "post", 
      url: "http://192.168.1.3:16150/ajaxnewclinicalhost/Service.svc/gettablejson1", 
      data: "{}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (msg) { 
       alert(msg); 
      }, 
      error: function() { 
       alert("error"); 
      } 
      }); 

Web.config

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.web> 
     <compilation debug="false" targetFramework="4.0"> 
      <assemblies> 
       <add assembly="System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /></assemblies></compilation> 
    </system.web> 
    <system.serviceModel> 
     <services> 
    <service name="newclinicallibrary.Service1"> 
    <endpoint address="" binding="webHttpBinding" bindingConfiguration="" behaviorConfiguration="WEB" contract="newclinicallibrary.IService1" /> 
    </service> 
    </services> 
    <behaviors> 
      <serviceBehaviors> 
       <behavior> 
        <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment --> 
        <serviceMetadata httpGetEnabled="true" /> 
        <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information --> 
        <serviceDebug includeExceptionDetailInFaults="false" /> 
       </behavior> 
      </serviceBehaviors> 
     <endpointBehaviors> 
     <behavior name="WEB"> 
      <webHttp /> 
     </behavior> 
     </endpointBehaviors> 
     </behaviors> 
     <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    </system.serviceModel> 
    <system.webServer> 
     <modules runAllManagedModulesForAllRequests="true" /> 
     <directoryBrowse enabled="true" /> 
    </system.webServer> 
</configuration> 
+1

L'adresse URL de votre navigateur est-elle associée à l'adresse IP et au port? – alex

+0

Veuillez nous montrer vos fichiers de configuration côté serveur ('web.config' et' service.svc')! Sans cela, nous ne pouvons pas savoir ce qui pourrait mal se passer .... –

+0

J'ai ajouté web.config s'il vous plaît vérifier – user601367

Répondre

1

Chaque fois que faire des appels AJAX, vous devez garder à l'esprit que pour des raisons de sécurité, le navigateur ne permettra demandes à apporter aux URL sur le même domaine que la page elle-même . Donc, à moins que votre page ne soit servie à partir de http://192.168.1.3, vous ne serez pas en mesure de faire des appels AJAX à votre service WCF.

Si cela ne se révèlent être le cas, vous pouvez essayer une des options suivantes:

  • hôte votre WCF sur un sous-domaine de votre site web (pourrait encore souffrir de problèmes de sécurité en raison du différent Port).
  • Ecrivez un script intermédiaire dans votre site Web qui demande des courtiers à votre service WCF.
  • N'utilisez pas WCF, mais hébergez plutôt votre fonctionnalité dans un script de votre site Web. Si vous utilisez ASP.NET, un module Web ou ASHX conviendrait.
+0

nous avons hébergé le service et la page dans le même domaine mais, toujours l'ajax responce va à la fonction d'erreur. S'il vous plaît aider son urgence. – user601367

Questions connexes