知识大全 ajax调用WCF服务
Posted 知
篇首语:对所学知识内容的兴趣可能成为学习动机。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ajax调用WCF服务相关的知识,希望对你有一定的参考价值。
ajax调用WCF服务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
关于AJAX调用WCF服务分为跨域和不跨域两种方式 今天咱们先介绍下不跨域下的调用方法 DEMO是在VS 写的
经过测试与研究 发现AJAX调用WCF服务必须满足以下条件
wcf的通讯方式必须使用webHttpBinding
必须设置<endpointBehaviors>节点的值
服务的实现必须添加
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode Allowed)] 标记
方法前面必须添加如下标记
[WebInvoke(Method = POST BodyStyle = WebMessageBodyStyle Bare ResponseFormat = WebMessageFormat Json)]
ajax方法中传递的参数名称必须和wcf服务中提供的参数方法名称一致
以下是本人写的代码 标记颜色的是需要注意的地方
服务器端配置文件代码
<system serviceModel> <services> <service name= WcfServiceDemoOne Service behaviorConfiguration= WcfServiceDemoOne Service Behavior > <! Service Endpoints > <endpoint address= binding= webHttpBinding contract= WcfServiceDemoOne IService behaviorConfiguration= HttpBehavior ></endpoint> <endpoint address= mex binding= mexHttpBinding contract= IMetadataExchange /> <host> <baseAddresses> <add baseAddress= /> </baseAddresses> </host> </service> </services> <behaviors> <serviceBehaviors> <behavior name= WcfServiceDemoOne Service Behavior > <! 为避免泄漏元数据信息 请在部署前将以下值设置为 false 并删除上面的元数据终结点 > <serviceMetadata GetEnabled= true /> <! 要接收故障异常详细信息以进行调试 请将以下值设置为 true 在部署前设置为 false 以避免泄漏异常信息 > <serviceDebug includeExceptionDetailInFaults= false /> </behavior> </serviceBehaviors> <endpointBehaviors> <behavior name= HttpBehavior > <webHttp/> </behavior> </endpointBehaviors> </behaviors> </system serviceModel>
服务器端代码
[ServiceContract] public interface IService [OperationContract] string GetData(int value); [OperationContract] City GetDataUsingDataContract(City posite); [OperationContract] List<City> GetList(); [OperationContract] List<City> GetListData(List<City> list); // 使用下面示例中说明的数据约定将复合类型添加到服务操作 [DataContract] public class City int seq = ; 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 Service : IService [WebInvoke(Method = POST BodyStyle = WebMessageBodyStyle WrappedRequest RequestFormat = WebMessageFormat Json ResponseFormat = WebMessageFormat Json)] public string GetData(int value) return string Format( You entered: value); #region IService 成员 [WebInvoke(Method = POST BodyStyle = WebMessageBodyStyle Bare ResponseFormat = WebMessageFormat Json)] public City GetDataUsingDataContract(City posite) City c = new City(); c CityID = posite CityID; c CityName = posite CityName; c Seq = posite Seq; return c; [WebInvoke(Method = POST BodyStyle = WebMessageBodyStyle Bare ResponseFormat = WebMessageFormat Json)] public List<City> GetList() List<City> list = new List<City>(); City cc = new City(); cc CityID = ; cc CityName= 北京 ; cc Seq = ; list Add(cc); City cc = new City(); cc CityID = ; cc CityName = 上海 ; cc Seq = ; list Add(cc ); return list; [WebInvoke(Method = POST BodyStyle = WebMessageBodyStyle Bare ResponseFormat = WebMessageFormat Json)] public List<City> GetListData(List<City> list) return list; #endregion
客户端调用代码
<%@ Page Language= C# AutoEventWireup= true CodeBehind= WebForm aspx cs Inherits= WcfServiceDemoOne WebForm %> <!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd > < xmlns= > <head runat= server > <title></title> <script src= jquery min js type= text/javascript ></script> <script type= text/javascript > //参数为整数的方法 function fn () $ ajax( url: type: POST contentType: text/json data: value : dataType: json success: function(returnValue) alert(returnValue); error: function() alert( error ); ); //参数为实体类的方法 function fn () $ ajax( url: type: POST contentType: application/json data: CityID : CityName : 北京 Seq : dataType: json success: function(returnValue) alert(returnValue CityID + + returnValue CityName + + returnValue Seq); error: function() alert( error ); );
cha138/Article/program/net/201311/12704相关参考
不在using语句中调用WCF服务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如果你调用WC
不要在using语句中调用WCF服务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如果你调用W
知识大全 在ASP.NET AJAX中调用JavaScript的服务
在ASP.NETAJAX中调用JavaScript的服务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
Ajax基石脚本异步并发调用参数传递 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在Ajax开发框
知识大全 ASP.NET 2.0 AJAX中Webservice调用方法
ASP.NET2.0AJAX中Webservice调用方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
js调用AJAX时Get和post的乱码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 jQuery调用AJAX时Get和post公用的乱码
jQuery调用AJAX时Get和post公用的乱码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 如何在ASP.Net Ajax中调用WebService
如何在ASP.NetAjax中调用WebService 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
知识大全 ASP.NET 3.5核心编程之AJAX Web Service的调用
ASP.NET3.5核心编程之AJAXWebService的调用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起
知识大全 javascript直接调用asp.net方法的技术——介绍pixysoft.ajax技术
前言本技术完全开源请各位兄弟随便修改使用但是必须能够保留相关版权的说明我的小小技术能在您的项目中使用是我的光荣希望不要破灭了我仅存的自豪感衷心感谢在此鞠躬! 本技术主要基提供页面的javascr