亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

jQuery實現ajax調用WCF服務的方法(附帶demo下載)

2024-09-01 08:33:35
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了jQuery實現ajax調用WCF服務的方法,以完整實例形式分析了jQuery的ajax前端調用及后臺交互調用WCF服務的相關技巧,并附帶完整實例共讀者下載,需要的朋友可以參考下
 

本文實例講述了jQuery實現ajax調用WCF服務的方法。分享給大家供大家參考,具體如下:

關于AJAX調用WCF服務分為跨域和不跨域兩種方式,今天咱們先介紹下不跨域下的調用方法。DEMO是在VS2008寫的.

經過測試與研究,發現AJAX調用WCF服務必須滿足以下條件

1.wcf的通訊方式必須使用webHttpBinding
2.必須設置<endpointBehaviors>節點的值
3.服務的實現必須添加標記

復制代碼代碼如下:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]

4.方法前面必須添加如下標記
復制代碼代碼如下:
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]

5.ajax方法中傳遞的參數名稱必須和wcf服務中提供的參數方法名稱一致

 

以下是本人寫的代碼,標記顏色的是需要注意的地方

服務器端配置文件代碼

<system.serviceModel>   <services>    <service name="WcfServiceDemoOne.Service1" behaviorConfiguration="WcfServiceDemoOne.Service1Behavior">     <!-- Service Endpoints -->   <endpoint address="" binding="webHttpBinding" contract="WcfServiceDemoOne.IService1" behaviorConfiguration="HttpBehavior"></endpoint>     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>     <host>      <baseAddresses>       <add baseAddress="http://localhost:12079/Service1.svc"/>      </baseAddresses>     </host>    </service>   </services>   <behaviors>    <serviceBehaviors>     <behavior name="WcfServiceDemoOne.Service1Behavior">      <!-- 為避免泄漏元數據信息,請在部署前將以下值設置為 false 并刪除上面的元數據終結點-->      <serviceMetadata httpGetEnabled="true"/>      <!-- 要接收故障異常詳細信息以進行調試,請將以下值設置為 true。在部署前設置為 false 以避免泄漏異常信息-->      <serviceDebug includeExceptionDetailInFaults="false"/>     </behavior>    </serviceBehaviors>   <endpointBehaviors>   <behavior name="HttpBehavior">    <webHttp/>   </behavior>   </endpointBehaviors>   </behaviors> </system.serviceModel>

服務器端代碼

[ServiceContract]  public interface IService1  {   [OperationContract]   string GetData(int value);   [OperationContract]   City GetDataUsingDataContract(City composite);    [OperationContract]   List<City> GetList();    [OperationContract]   List<City> GetListData(List<City> 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<City> GetList()   {    List<City> list = new List<City>();    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<City> GetListData(List<City> list)   {    return list;   }   #endregion }

客戶端調用代碼

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WcfServiceDemoOne.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">  <title></title>  <script src="jquery-1.7.1.min.js" type="text/javascript"></script>  <script type="text/javascript">  //參數為整數的方法   function fn1()   {    $.ajax({    url: "http://localhost:12079/Service1.svc/GetData",     type: "POST",     contentType: "text/json",     data: '{"value":2}',     dataType: "json",     success: function(returnValue) {      alert(returnValue);     },     error: function() {      alert('error');     }    });   } //參數為實體類的方法   function fn2() {    $.ajax({    url: "http://localhost:12079/Service1.svc/GetDataUsingDataContract",     type: "POST",     contentType: "application/json",     data: '{"CityID":1,"CityName":"北京","Seq":"3"}',     dataType: "json",     success: function(returnValue) {     alert(returnValue.CityID + ' ' + returnValue.CityName + "--" + returnValue.Seq);     },     error: function() {      alert('error');     }    });   } //返回值為類集合的方法   function fn3() {    $.ajax({     url: "http://localhost:12079/Service1.svc/GetList",     type: "POST",     contentType: "application/json",     dataType: "json",     success: function(returnValue) {     for (var i = 0; i < returnValue.length; i++) {      alert(returnValue[i].CityID + ' ' + returnValue[i].CityName+'---'+returnValue[i].Seq);      }     },     error: function() {      alert('error');     }    });   }   function fn4() {    $.ajax({    url: "http://localhost:12079/Service1.svc/GetListData",     type: "POST",     contentType: "application/json",     data: '[{"CityID":1,"CityName":"北京","Seq":"3"},{"CityID":3,"CityName":"上海","Seq":"3"}]',     dataType: "json",     success: function(returnValue) {     for (var i = 0; i < returnValue.length; i++) {      alert(returnValue[i].CityID + ' ' + returnValue[i].CityName + '---' + returnValue[i].Seq);     }     },     error: function() {      alert('error');     }    });   }  </script> </head> <body>  <form id="form1" runat="server">  <div>   <input id="Button1" type="button" value="調用1" onclick="fn1();" /></div>   <input id="Button2" type="button" value="調用2" onclick="fn2();" />   <br />  <input id="Button3" type="button" value="調用3" onclick="fn3();" /></form>  <br />  <input id="Button4" type="button" value="調用4" onclick="fn4();"/> </body> </html> 

完整實例代碼代碼點擊此處本站下載。

希望本文所述對大家jQuery程序設計有所幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美日韩直播| 亚洲视频在线观看视频| 亚洲人精选亚洲人成在线| 日韩精品在线视频| 国产+人+亚洲| 成人性生交大片免费观看嘿嘿视频| 国产精品v片在线观看不卡| 亚洲国产另类久久精品| 日韩精品极品视频| 奇米一区二区三区四区久久| 欧美精品情趣视频| 亚洲小视频在线| 国产做受高潮69| 国产精品av在线播放| 色综合男人天堂| 国产精品美乳在线观看| 欧美成年人在线观看| 日本欧美在线视频| 精品夜色国产国偷在线| 久久久影视精品| 欧美极品在线播放| 日韩亚洲欧美成人| 中文字幕在线国产精品| 欧美精品在线看| 国产日韩欧美日韩大片| 国产精品久久久久不卡| 午夜精品视频在线| 伊人久久大香线蕉av一区二区| 精品亚洲精品福利线在观看| 精品一区二区三区四区| 永久免费看mv网站入口亚洲| 亚洲一区二区日本| 欧美成人免费全部观看天天性色| 国产精品入口尤物| 国产欧美va欧美va香蕉在| 亚洲伊人久久综合| 亚洲国产精品小视频| 另类天堂视频在线观看| 欧美另类在线播放| 亚洲人成电影网站色www| 欧美最猛性xxxxx亚洲精品| 亚洲电影成人av99爱色| 97在线观看免费| 欧美在线激情网| 97超碰蝌蚪网人人做人人爽| 亚洲成年网站在线观看| 欧美性高跟鞋xxxxhd| 国产欧美欧洲在线观看| www.亚洲免费视频| 日韩网站免费观看高清| 97国产在线观看| 91av视频在线| 亚洲第一页在线| 亚洲bt天天射| 7m精品福利视频导航| 九九热在线精品视频| 亚洲xxxx18| 高清一区二区三区日本久| 久久久成人精品视频| 国产精品第3页| 亚洲精品日产aⅴ| 久久久久久免费精品| 麻豆国产va免费精品高清在线| 午夜精品美女自拍福到在线| 成人网欧美在线视频| 久久久久久久激情视频| 亚洲高清在线观看| 日韩在线观看网址| 欧美乱妇高清无乱码| 日韩精品在线免费观看| 国产亚洲精品久久久| 在线播放日韩欧美| 国内精品小视频| 欧美区在线播放| www国产亚洲精品久久网站| 成人妇女免费播放久久久| 欧美xxxx14xxxxx性爽| 国产精品视频男人的天堂| 一区二区三区动漫| 国产亚洲精品综合一区91| 日本久久中文字幕| 久久久精品影院| 欧美性xxxx极品高清hd直播| 国产精品视频播放| 亚洲精品中文字幕有码专区| 欧美成人黑人xx视频免费观看| 国产精品美女主播在线观看纯欲| 国产精品伦子伦免费视频| 国产精品亚洲一区二区三区| 久久人人爽人人爽人人片亚洲| 日韩精品日韩在线观看| 中文在线资源观看视频网站免费不卡| 日韩精品高清在线观看| 揄拍成人国产精品视频| 日韩精品免费在线播放| 久久国产精品网站| 国产成人综合精品在线| 欧美另类精品xxxx孕妇| 欧美三级欧美成人高清www| 91精品国产一区| 色综合天天综合网国产成人网| 日韩精品视频在线| 一区二区欧美日韩视频| 91精品国产91久久久久久最新| 日韩性生活视频| 98精品国产自产在线观看| 国产欧美精品一区二区三区-老狼| 日韩成人中文字幕| 日韩久久免费视频| 久久精品视频导航| 久久精品国产一区| 久久天天躁狠狠躁老女人| 亚洲精品www久久久久久广东| 亚洲石原莉奈一区二区在线观看| 欧美区二区三区| 在线观看亚洲区| 久久久国产精品视频| 欧美激情免费看| 精品久久久久久久久久久久久| 亚洲视频999| 亚洲精选中文字幕| 福利二区91精品bt7086| 国产精品免费小视频| 国产精品对白刺激| 九九视频直播综合网| 亚洲午夜久久久影院| 日韩亚洲一区二区| 欧美另类xxx| 日韩欧美精品网址| 欧美大尺度在线观看| 美女扒开尿口让男人操亚洲视频网站| 国产精品一区二区三区免费视频| 久色乳综合思思在线视频| 精品国产乱码久久久久久虫虫漫画| 久久人人爽人人爽人人片av高请| 国产福利视频一区| 欧美精品www| 日韩女优在线播放| 国产91精品青草社区| 亚洲男女性事视频| 萌白酱国产一区二区| 国产一区二区久久精品| 日av在线播放中文不卡| 亚洲在线免费看| 91精品在线国产| 日本精品一区二区三区在线播放视频| 亚洲黄页视频免费观看| 亚洲影影院av| 黑人狂躁日本妞一区二区三区| 欧美大奶子在线| 欧美极品第一页| 日本一区二区不卡| 怡红院精品视频| 国产精品成人一区| 国产精品免费电影| 欧美激情视频网址| 亚洲国产成人久久综合| 日韩视频在线观看免费| 91热精品视频| 成人有码在线视频| 免费99精品国产自在在线| 色视频www在线播放国产成人| 日韩精品一二三四区| 97国产在线观看|