jQuery调用WCF

 1. 添加System.ServiceModel和System.ServiceModel.Web的引用

 2.



//契约
    
[ServiceContract]
    
public interface IService1
    {
        
//[WebGet] //WebGet与WebInvoke冲突,只能使用一个
        
[OperationContract]        
        
[WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest,Method="GET")]
        string DoWork();
    }

//实现
//Service1.svc.cs
    
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    
public class Service1 : IService1
    {
        
public string DoWork()
        {
            
return System.DateTime.Now.ToString();
        }
    }

 

 

 


 
<behaviors>
   
<serviceBehaviors>
    
<behavior name="WebApplication1.Service1Behavior">
     
<serviceMetadata httpGetEnabled="true" />
     
<serviceDebug includeExceptionDetailInFaults="false" />            
    
</behavior>
   
</serviceBehaviors>

    
<endpointBehaviors>
      
<behavior name="DiggServiceBehavior">
        
<enableWebScript/><!--impont-->
      
</behavior>   
    
</endpointBehaviors>
  
</behaviors>
   
   
  
<services>
   
<service behaviorConfiguration="WebApplication1.Service1Behavior"
    name
="WebApplication1.Service1">
    
<!--只能使用webHttpBinding-->
    
<endpoint address="" binding="webHttpBinding" contract="WebApplication1.IService1" behaviorConfiguration="DiggServiceBehavior">
     
<identity>
      
<dns value="localhost" />
     
</identity>
    
</endpoint>
    
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
   
</service>
  
</services>

 

 

调用


  
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js" type="text/javascript"></script>
        <script language="javascript" type="text/jscript">
            $.ajax({
                url: 
"Service1.svc/dowork",
                type: 
"POST",
                context: document.body,
                contentType: 
'application/json; charset=utf8',
                success: 
function(data) {
                    alert(
"ok:" + data);
                },
                error: 
function(xhr) {
                    alert(
"err:" + xhr.responseText);
                }
            });
        
</script>
      

 

 

 

http://blog.csdn.net/gisfarmer/archive/2009/07/16/4352634.aspx

http://www.cnblogs.com/binglingshui/archive/2008/12/29/1364647.html 

 

 

posted @ 2010-10-27 11:34  zyip  阅读(209)  评论(0编辑  收藏  举报