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

首頁 > 開發 > AJAX > 正文

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

2024-09-01 08:33:06
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了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
欧美高清视频在线观看| 久久激情视频久久| 亚洲电影第1页| 成人做爽爽免费视频| 久久天天躁狠狠躁夜夜躁2014| 亚洲第一网站男人都懂| 久久亚洲国产成人| 欧美亚洲另类在线| 91久久精品视频| 精品免费在线视频| 久久成人av网站| 国产精品免费久久久久影院| 欧美久久精品午夜青青大伊人| 亚洲男人的天堂在线播放| 欧美电影电视剧在线观看| 久久影视三级福利片| 国产日韩在线精品av| 欧美精品久久久久a| 亚洲在线第一页| 91免费看视频.| 国产精品久久中文| 日韩高清av在线| 日韩美女视频在线观看| 国产97人人超碰caoprom| 亚洲**2019国产| 久久久999成人| 亚洲精品在线不卡| 国产精品成人品| 国产精品福利在线观看网址| 欧美日韩裸体免费视频| 97**国产露脸精品国产| 欧美高清性猛交| 欧美亚洲另类视频| 亚洲大胆人体在线| 日韩欧美在线观看| 国产一区二区在线免费视频| 国产成人亚洲综合| 成人精品久久久| 国产精品99久久久久久久久久久久| 91精品在线观| 中文国产成人精品| 日本成人黄色片| 欧美亚洲国产日本| www.久久久久| 欧美在线视频免费播放| 91久久久久久久| 亚洲香蕉在线观看| 尤物九九久久国产精品的特点| 欧美精品在线观看| 国产精品久久久久久久久久| 国产黑人绿帽在线第一区| 亚洲最大激情中文字幕| 国产精品免费久久久| 欧美激情欧美激情在线五月| 精品久久久久久国产91| 国产网站欧美日韩免费精品在线观看| 欧美另类交人妖| 最近2019中文字幕一页二页| 中文字幕精品国产| 亚洲直播在线一区| 欧美高清激情视频| 国语自产精品视频在免费| 国产精品久久不能| 96sao精品视频在线观看| 成人乱色短篇合集| 日本精品中文字幕| 久久久噜噜噜久久| 精品视频中文字幕| 九色精品美女在线| 日韩av在线免播放器| 欧美性做爰毛片| 一区二区三区四区视频| 欧美视频在线观看 亚洲欧| 亚洲国产美女久久久久| 亚洲一区二区三区在线视频| 亚洲国产日韩精品在线| 国产成人精品免费视频| 亚洲电影天堂av| 国产日本欧美一区二区三区在线| 精品人伦一区二区三区蜜桃网站| 中文字幕日韩免费视频| 久久久精品久久久| 国产精品va在线| 川上优av一区二区线观看| 中文字幕亚洲综合久久| 久久久亚洲国产天美传媒修理工| 欧美综合第一页| 亚洲国产精品99久久| 欧美日韩亚洲网| 国产91露脸中文字幕在线| 国产中文欧美精品| 日韩精品在线观看视频| 日韩精品视频观看| 亚洲国产三级网| 成人情趣片在线观看免费| 欧美成人在线影院| 久久国产精品久久久久久| 欲色天天网综合久久| 97欧美精品一区二区三区| 91久久国产精品91久久性色| 亚洲夜晚福利在线观看| 亚洲欧美成人一区二区在线电影| 久久影院在线观看| 国产精品久久久久久久久免费看| 日韩在线观看免费全| 亚洲成av人片在线观看香蕉| 91久久中文字幕| 日韩精品免费在线| 日韩精品极品毛片系列视频| 国产视频精品一区二区三区| 亚洲国产精品久久精品怡红院| 亚洲人在线观看| 国产免费一区二区三区在线观看| 日韩va亚洲va欧洲va国产| 精品国产一区二区在线| 成人网欧美在线视频| 欧美另类精品xxxx孕妇| 精品伊人久久97| 91国自产精品中文字幕亚洲| 国产欧美日韩中文字幕在线| 92看片淫黄大片欧美看国产片| 国产美女主播一区| 亚洲成人精品av| 亚洲欧美日韩天堂一区二区| 国产精品久久久久久久久粉嫩av| 午夜精品www| 在线观看欧美日韩| 欧美片一区二区三区| 国产精品夜间视频香蕉| 日韩高清av一区二区三区| 亚洲精品白浆高清久久久久久| 国产成人精品久久亚洲高清不卡| 最近2019好看的中文字幕免费| 欧美亚洲日本网站| 日韩欧美一区二区三区久久| 欧美成人激情视频免费观看| 亚洲视频一区二区三区| 97视频在线观看网址| 国产精品自拍偷拍| 国产精品爽爽ⅴa在线观看| 国产亚洲激情在线| 国产在线精品播放| 欧美在线欧美在线| 国产日韩精品一区二区| 欧美中文在线免费| 色偷偷9999www| 欧美亚洲午夜视频在线观看| 久久久久久久久久久av| 51视频国产精品一区二区| 国产在线精品自拍| 亚洲人成网站999久久久综合| 国内成人精品视频| 亚洲国产天堂网精品网站| 欧美噜噜久久久xxx| 精品女同一区二区三区在线播放| 亚洲国产精品va在线看黑人动漫| 亚洲国产精品va在线观看黑人| 91av视频在线播放| 日韩美女在线观看一区| 国产一区二区三区在线免费观看| 九色91av视频| 高清欧美电影在线| 亚洲欧美在线看| 亚洲欧洲成视频免费观看|