JQuery应用之使用AJAX调用WCF服务介绍(2)
下面来看如何在js中调用我们刚才创建的WCF服务,我们用JQuery的ajax功能。
<p> <button id="getOnePerson" type="button">Get One Person</button> <button id="getPersons" type="button">Get Persons</button> </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中。