您好,欢迎来到赞字娱乐。
搜索
您的当前位置:首页jQuery实现ajax调用WCF服务的方法(附带demo下载)_jquery

jQuery实现ajax调用WCF服务的方法(附带demo下载)_jquery

来源:赞字娱乐


本文实例讲述了jQuery实现ajax调用WCF服务的方法。分享给大家供大家参考,具体如下:

关于AJAX调用WCF服务分为跨域和不跨域两种方式,今天咱们先介绍下不跨域下的调用方法。DEMO是在VS2008写的.

经过测试与研究,发现AJAX调用WCF服务必须满足以下条件

1.wcf的通讯方式必须使用webHttpBinding
2.必须设置节点的值
3.服务的实现必须添加标记
代码如下:[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
4.方法前面必须添加如下标记
代码如下:[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
5.ajax方法中传递的参数名称必须和wcf服务中提供的参数方法名称一致

以下是本人写的代码,标记颜色的是需要注意的地方

服务器端配置文件代码

 
  
  
 
  
  
  
  
 
  
  
  
  
  
  
  
 
  
 
  
  
  
  
  
  
  
  
  


服务器端代码

[ServiceContract] 
 public interface IService1 
 { 
 [OperationContract] 
 string GetData(int value); 
 [OperationContract] 
 City GetDataUsingDataContract(City composite); 
 [OperationContract] 
 List GetList(); 
 [OperationContract] 
 List GetListData(List list); 
 } 
 // 使用下面示例中说明的数据约定将复合类型添加到服务操作。 
 [DataContract] 
 public class City 
 { 
 int seq = 0; 
 string cityID; 
 string ctiyName; 
 [DataMember] 
 public string CityID 
 { 
 get 
 { 
 return cityID; 
 } 
 set 
 { 
 cityID=value; 
 } 
 } 
 [DataMember] 
 public string CityName 
 { 
 get { return ctiyName; } 
 set { ctiyName = value; } 
 } 
 [DataMember] 
 public int Seq 
 { 
 get 
 { return seq; } 
 set 
 { seq = value; } 
 } 
}

实现代码

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
 public class Service1 : IService1 
 { 
 [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] 
 public string GetData(int value) 
 { 
 return string.Format("You entered: {0}", value); 
 } 
 #region IService1 成员 
 [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)] 
 public City GetDataUsingDataContract(City composite) 
 { 
 City c = new City(); 
 c.CityID = composite.CityID; 
 c.CityName = composite.CityName; 
 c.Seq = composite.Seq; 
 return c; 
 } 
 [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)] 
 public List GetList() 
 { 
 List list = new List(); 
 City cc = new City(); 
 cc.CityID = "1"; 
 cc.CityName="北京"; 
 cc.Seq = 3; 
 list.Add(cc); 
 City cc1 = new City(); 
 cc1.CityID = "2"; 
 cc1.CityName = "上海"; 
 cc1.Seq = 4; 
 list.Add(cc1); 
 return list; 
 } 
 [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)] 
 public List GetListData(List list) 
 { 
 return list; 
 } 
 #endregion 
}

客户端调用代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WcfServiceDemoOne.WebForm1" %> 
 
 
 
  
  
 

完整实例代码代码点击此处本站下载。

希望本文所述对大家jQuery程序设计有所帮助。

Copyright © 2019- jzlq.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务