四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

用jQuery AJAX調(diào)用WCF服務(wù)

  在網(wǎng)絡(luò)上經(jīng)常看到一些初學(xué)者提問怎么在AJAX中或用Javascript調(diào)用WCF服務(wù),本文將簡要給初學(xué)者介紹如何在AJAX中或用Javascript調(diào)用WCF服務(wù)以及注意事項。為了便于講解,我們首先創(chuàng)建一個WCF服務(wù),服務(wù)和服務(wù)數(shù)據(jù)定義如下:

    //數(shù)據(jù)契約    [DataContract]    public class Person    {        [DataMember]        public int ID { get; set; }        [DataMember]        public string Name { get; set; }    }    //WCF服務(wù),為了能使js調(diào)用,必須設(shè)置ASPNETCompatibilityRequirements為Allowed或Required    [ServiceContract(Namespace = "")]    [ASPNETCompatibilityRequirements(RequirementsMode = ASPNETCompatibilityRequirementsMode.Allowed)]    public class PersonService    {        //服務(wù)功能1        [OperationContract]        [WebGet]        public Person GetOnePerson()        {            return new Person { ID = 1, Name = "cokkiy" };        }        //服務(wù)功能2        [OperationContract]        [WebGet]        public List<Person> GetPorsons(int id, string name)        {            return new List<Person>() { new Person { ID=1,Name="cokkiy"},                 new Person { ID=id,Name=name} };        }    }

  Ok,我們先看一下服務(wù)定義,為了使AJAX或JS調(diào)用服務(wù),必須標(biāo)記服務(wù)的ASPNET兼容模式為Allowed或Required。其次,操作契約必須標(biāo)記為WebGet或WebInvoke,WebGet屬性標(biāo)記了一個可以用http get方法調(diào)用的操作,而WebInvoke屬性標(biāo)記了一個可以用http post方法調(diào)用的操作。

  再來看服務(wù)配置文件:

<system.serviceModel>        <behaviors>            <endpointBehaviors>                <behavior name="AjaxWCFWeb.Services.PersonServiceASPNETAjaxBehavior">                    <enableWebScript/>                behavior>            endpointBehaviors>        behaviors>        <serviceHostingEnvironment ASPNETCompatibilityEnabled="true"/>        <services>            <service name="AjaxWCFWeb.Services.PersonService">                <endpoint address="" behaviorConfiguration="AjaxWCFWeb.Services.PersonServiceASPNETAjax
Behavior
" binding="webHttpBinding"
contract="AjaxWCFWeb.Services.PersonService"/> service> services> system.serviceModel>

  這里注意,配置文件中,必須提供基于webHttpBinding的綁定,否則就不能從js中調(diào)用。并且,必須設(shè)置serviceHostingEnvironment ASPNETCompatibilityEnabled

  下面來看如何在js中調(diào)用我們剛才創(chuàng)建的WCF服務(wù),我們用JQuery的ajax功能。

    <p>       <button id="getOnePerson" type="button">Get One Personbutton>       <button id="getPersons" type="button">Get Personsbutton>    p>    <script type="text/Javascript">        $(document).ready(function() {            $('#getOnePerson').click(function() {                $.getJSON("/Services/PersonService.svc/GetOnePerson", {}, function(data) {                    alert("ID:" + data.d.ID + " Name:" + data.d.Name);                });            });            $('#getPersons').click(function() {                $.getJSON("/Services/PersonService.svc/GetPorsons", { id: 100, name: "from clent" }, function
(data) { alert(data.d.length); for (var i = 0; i < data.d.length; i++) { alert("ID:" + data.d[i].ID + " Name:" + data.d[i].Name); } }); }); }); script>

  由于我們用的是JQuery的AJAX函數(shù),因此調(diào)用方式非常簡單,熟悉JQuery AJax的朋友一看就明白了,這種調(diào)用方式跟調(diào)用其他方法幾乎完全一樣,差別在于返回的數(shù)據(jù),請注意我們真正的數(shù)據(jù)在data.d中。

  總結(jié):1)WCF服務(wù)必須標(biāo)記為ASPNETCompatibilityRequirements為Alowed或Requered。

           2)服務(wù)中的操作(Operation)必須標(biāo)記為WebGet或WebInvoke。

           3)服務(wù)配置中必須提供webHttpBinding綁定,并設(shè)置服務(wù)的運行環(huán)境為ASPNETCompatibilityEnabled

           4)返回的數(shù)據(jù)在屬性d中。

it知識庫用jQuery AJAX調(diào)用WCF服務(wù),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 一个蛋挞的热量| 孕期怕冷怕热看男女| 四年级下册语文猫课堂笔记| 涡轮增压黄鹤楼| kaylani lei| 谢予望| 吻胸吃胸激情舌吻| 茶馆剧本完整版| 蛇欲电影| 皮皮虾影视| 陷入纯情| 最爱电影完整版在线观看免费高清| 告别信| 谭咏麟电影| 好男人电视剧| 浙江卫视电视台节目表| 危险诱惑| bobo视频| 色在线观看| 奇门遁甲电影免费观看完整版| 二年级100个词语| angela white电影| 俺去也电影网| 博人传青年篇动漫在线观看免费| 山上的小屋 残雪原文| 分享视频| 陈宝国主演影视剧| 直播惊魂夜| 金太狼的幸福生活剧情介绍| 十大名茶排名顺序| 天津电视台节目表| 飞扬的青春 电视剧| 凌博控制器| 钉子电影电视剧| 喜羊羊简谱| 做菜的视频家常菜大全| 你是我心中的太阳泰剧| 土力学| 海藻钙为啥不建议宝宝吃| 电视剧对峙| 违规吃喝问题研讨发言材料|