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

首頁 > 編程 > JavaScript > 正文

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

2019-11-20 11:04:50
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品一区二区| 国内揄拍国内精品| 91av免费观看91av精品在线| 亚洲精品成人久久| 国产在线播放91| 亚洲男人天堂网| 国产精品v片在线观看不卡| 一本色道久久88精品综合| 欧美成人精品影院| 亚洲天堂av在线免费| 欧美日韩亚洲天堂| 日韩在线免费高清视频| 91精品久久久久久久久久另类| 清纯唯美亚洲激情| 国产精品久久久久国产a级| 国产精品视频在线观看| 国产精品女视频| 欧美日韩免费看| 日韩视频在线免费观看| 国产精品青青在线观看爽香蕉| 精品久久久久久久久久国产| 亚洲电影免费观看高清完整版| 欧美一级电影在线| 国产精品亚洲综合天堂夜夜| 欧美大片在线看免费观看| 97色在线视频| 久久国产精品偷| 亚洲欧洲激情在线| 国内精品美女av在线播放| 国产精品久在线观看| 亚洲成人av资源网| 国产日韩欧美在线看| 国产精品96久久久久久| 亚洲成人网在线| 51视频国产精品一区二区| 一本大道香蕉久在线播放29| 色哟哟亚洲精品一区二区| 欧美日韩免费一区| 91精品国产精品| 国产精品爽黄69天堂a| 91亚洲精品久久久| 日韩中文字幕亚洲| 91av视频在线免费观看| 日本久久久久久久久久久| 欧美性猛交xxxx久久久| 国产精品视频在线观看| 亚洲香蕉伊综合在人在线视看| 亚洲欧美日韩一区二区在线| www.亚洲男人天堂| 国产精品日韩在线观看| 中文字幕无线精品亚洲乱码一区| 欧美综合在线第二页| 久久久久久久国产| 亚洲人a成www在线影院| 国产免费观看久久黄| 最新国产成人av网站网址麻豆| 91亚洲国产成人精品性色| 欧美成人免费va影院高清| 日韩高清不卡av| 欧美在线激情网| 永久免费看mv网站入口亚洲| 国产成人97精品免费看片| 一区三区二区视频| 国产美女精品视频免费观看| 欧美性色xo影院| 中文字幕亚洲一区在线观看| 国产黑人绿帽在线第一区| 欧美xxxx综合视频| 日韩亚洲精品电影| 51午夜精品视频| 成人精品视频在线| 一区二区在线视频| 美女视频黄免费的亚洲男人天堂| 亚洲最大在线视频| 91久久久精品| 欧美日韩在线免费| 中文字幕亚洲欧美| 欧美在线视频免费观看| 日韩中文字幕久久| 成人黄色免费片| 国产精品久久国产精品99gif| 久久精品福利视频| 国产九九精品视频| 狠狠爱在线视频一区| 亚洲激情成人网| 国产亚洲视频中文字幕视频| 在线视频国产日韩| 黄色一区二区在线| 国产精品揄拍500视频| 欧美日韩一区二区精品| 亚洲第一页在线| 日韩中文字幕在线看| 日韩av综合中文字幕| 国产精品成人aaaaa网站| 亚洲男女自偷自拍图片另类| 国产精品第100页| 欧美日本中文字幕| 91人人爽人人爽人人精88v| 成人春色激情网| 日韩精品在线观| 中文字幕不卡av| 国产精品99久久久久久白浆小说| 成人免费xxxxx在线观看| 久久艳片www.17c.com| 欧美激情亚洲另类| 中文字幕欧美日韩| 国内精品美女av在线播放| 欧美中文在线观看国产| 国产精品电影观看| 亚洲欧美日韩中文在线制服| 亚洲精选一区二区| 国产精选久久久久久| 国产91热爆ts人妖在线| 97人洗澡人人免费公开视频碰碰碰| 91免费看片在线| 青青草原一区二区| 久久久久久伊人| 久久国产精品久久久久久| 97成人精品区在线播放| 国产精品午夜国产小视频| 亚洲乱码国产乱码精品精| 欧美激情性做爰免费视频| 九九精品在线播放| 狠狠躁夜夜躁人人爽天天天天97| 91色琪琪电影亚洲精品久久| 亚洲欧美日韩中文在线| 国产精品劲爆视频| 黑人精品xxx一区一二区| 国产亚洲视频中文字幕视频| 午夜剧场成人观在线视频免费观看| 欧美日韩国产精品一区二区三区四区| 91av在线免费观看视频| 最近2019中文字幕第三页视频| 成人激情视频在线观看| 国产精品久久一| 69av视频在线播放| 欧美国产精品人人做人人爱| 精品高清一区二区三区| 亚洲欧美一区二区三区在线| 日韩天堂在线视频| 日本亚洲欧洲色α| 91精品在线一区| 8x海外华人永久免费日韩内陆视频| 日韩中文字幕精品视频| 国产免费一区二区三区香蕉精| 精品亚洲一区二区三区在线播放| 日韩精品极品毛片系列视频| 日韩高清免费在线| 日韩精品亚洲视频| 欧美日韩国产成人在线观看| 久久影视电视剧凤归四时歌| 久久91精品国产91久久久| 5252色成人免费视频| 91视频国产精品| 亚洲午夜性刺激影院| 91精品国产自产91精品| 精品女同一区二区三区在线播放| 精品日韩中文字幕| 欧美大片在线看免费观看| 操人视频在线观看欧美| 精品国产乱码久久久久久婷婷| 中文字幕不卡av| 国产一区二区免费| 国产成人在线亚洲欧美|