天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

用jQuery AJAX調用WCF服務

  在網絡上經??吹揭恍┏鯇W者提問怎么在AJAX中或用Javascript調用WCF服務,本文將簡要給初學者介紹如何在AJAX中或用Javascript調用WCF服務以及注意事項。為了便于講解,我們首先創建一個WCF服務,服務和服務數據定義如下:

    //數據契約    [DataContract]    public class Person    {        [DataMember]        public int ID { get; set; }        [DataMember]        public string Name { get; set; }    }    //WCF服務,為了能使js調用,必須設置ASPNETCompatibilityRequirements為Allowed或Required    [ServiceContract(Namespace = "")]    [ASPNETCompatibilityRequirements(RequirementsMode = ASPNETCompatibilityRequirementsMode.Allowed)]    public class PersonService    {        //服務功能1        [OperationContract]        [WebGet]        public Person GetOnePerson()        {            return new Person { ID = 1, Name = "cokkiy" };        }        //服務功能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,我們先看一下服務定義,為了使AJAX或JS調用服務,必須標記服務的ASPNET兼容模式為Allowed或Required。其次,操作契約必須標記為WebGet或WebInvoke,WebGet屬性標記了一個可以用http get方法調用的操作,而WebInvoke屬性標記了一個可以用http post方法調用的操作。

  再來看服務配置文件:

<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中調用。并且,必須設置serviceHostingEnvironment ASPNETCompatibilityEnabled。

  下面來看如何在js中調用我們剛才創建的WCF服務,我們用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函數,因此調用方式非常簡單,熟悉JQuery AJax的朋友一看就明白了,這種調用方式跟調用其他方法幾乎完全一樣,差別在于返回的數據,請注意我們真正的數據在data.d中。

  總結:1)WCF服務必須標記為ASPNETCompatibilityRequirements為Alowed或Requered。

           2)服務中的操作(Operation)必須標記為WebGet或WebInvoke。

           3)服務配置中必須提供webHttpBinding綁定,并設置服務的運行環境為ASPNETCompatibilityEnabled。

           4)返回的數據在屬性d中。

it知識庫用jQuery AJAX調用WCF服務,轉載需保留來源!

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

主站蜘蛛池模板: 99久久热视频只有精品 | 91热久久免费精品99 | 亚洲精品AV一区午夜福利 | 少妇无码太爽了视频在线播放 | 扒开腿狂躁女人GIF动态图 | 国产二级一片内射视频播放 | 131美女爱做视频午夜剧场 | 国产精华av午夜在线观看 | 亚洲欧美视频在线 | 鲁大师影院在线视频在线观看 | 老妇xxxxbbbb| 丝瓜影院观看免费高清国际观察 | 久久影院午夜理论片无码 | 色噜噜色啪在线视频 | 99久久亚洲 | 嗯啊…跟校草在教室里做h 嗯 用力啊 嗯 c我 啊哈老师 | 欧美日韩国产高清综合二区 | 中俄两军在日本海等上空战略巡航 | 第四色播日韩AV第一页 | 欧美激情一区二区三区视频 | 亚洲视频网站欧美视频网站 | 黑丝美女娇喘 | 久久影院毛片一区二区 | 与嫂子同居的日子在线观看 | 国产精品99久久久久久AV下载 | 国产成人高清精品免费观看 | 好色美女小雅 | 永久精品免费影院在线观看网站 | 色欲AV亚洲永久无码精品麻豆 | china中国gay偷拍| 探花口爆颜射乳交日韩 | 全黄H全肉细节文NP 全黄h全肉细节全文 | 91精选国产| 五花大绑esebdsm国产 | 久久99国产精品无码AV | 24小时日本免费看 | 69SEX久久精品国产麻豆 | 国产在线精品视亚洲不卡 | 亚洲精品久久99蜜芽尤物TV | 国产69精品久久久熟女 | 99九九99九九九视频精品 |