WCF WebGet WebInvoke WCF Jquery 调用
来源:互联网 发布:墙面互动投影软件 编辑:程序博客网 时间:2024/05/21 16:57
1.创建WCF服务
直接在网站中添加 Ajax-enabled-WCF Services ,命名为AjaxWcfServices.svc
代码如下:
[ServiceContract(Namespace = "")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class HelloWorld { // 添加 [WebGet] 属性以使用 HTTP GET [OperationContract] [WebGet(RequestFormat=WebMessageFormat.Json)] public void DoWork(Person p) { // 在此处添加操作实现 return; } [OperationContract] [WebInvoke(RequestFormat=WebMessageFormat.Json,ResponseFormat=WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.WrappedRequest)] public string DoWorkPost(string id, string title, string content) { return string.Format("您输入的标题是:{0}/n/n您输入的内容是:{1}/n/n此文章的id是:{2}", title, content, id.ToString()); } [OperationContract] [WebInvoke(RequestFormat=WebMessageFormat.Json,ResponseFormat=WebMessageFormat.Xml,BodyStyle=WebMessageBodyStyle.WrappedRequest)] public Person DoWorkXml(string personName) { Person p = new Person(); p.Name = personName; p.Age = 25; p.Shoes = new List<string>() {"shoes1","shoes2" }; return p; } // 在此处添加更多操作并使用 [OperationContract] 标记它们 }
2、客户端代码
function SendAjaxWithPost(id, title, content) { $.ajax({ type: "post", contentType: "text/json", dataType:"json", url: "WCFServices/HelloWorld.svc/DoWorkPost", data: '{"id":' + id + ',"title":"' + title + '","content":"' + content + '"}', success: function(msg) { alert(msg); if (msg.d) { alert(msg.d); } }, error: function(XMLHttpRequest, textStatus, errorThrow) { alert("Error Occured!"); } }); } function WcfAjaxXml(personName) { $.ajax({ type: "post", contentType: "text/json", dataType: "text/xml", url: "WCFServices/HelloWorld.svc/DoWorkXml", data: '{"personName":"' + personName + '"}', success: function(msg) { alert(msg); var result = ""; result += "Name:" + $(msg).find("Name").text() + ","; result += "Age:" + $(msg).find("Age").text() + ","; result += "Shoes:" + $(msg).find("Shoes").text(); alert(result); }, error: function(XMLHttpRequest, textStatus, errorThrow) { alert("Error Occured!"); } }); }
在用Jquery ajax调用WCF服务传递json对象时,在分别用Post,get数据方式时,设置json参数格式时需要采用不同的格式类型。
Get类型:参数传递格式:{ "name": name }
Post类型:参数传递格式:'{"name":"'+name+'"}' 如果用Get类型那样传参会在Wcf接受的时候会提示json格式错误
在用Post类型提交时,相应的WCF服务 [WebGet()]修改成相应的 [WebInvoke()],WCF默认传递格式为json,也可显示的添加为[WebGet(ResponseFormat=WebMessageFormat.Xml)]或者[WebInvoke(RequestFormat=WebMessageFormat.Xml)]
- WCF WebGet WebInvoke WCF Jquery 调用
- WCF WebGet WebInvoke WCF Jquery 调用
- WCF 的 WebGet 方式
- WCF 的 WebGet 方式
- Jquery(Ajax) 调用wcf
- WCF Jquery 调用
- JQuery 调用 WCF示例
- jQuery调用WCF
- jquery 调用wcf
- JQuery调用WCF
- WCF 3.5: Hosting Services for WebGet
- Jquery 调用WebService和Wcf
- jQuery 调用 WCF中的方法
- jQuery调用WCF示例代码
- jQuery AJAX调用WCF服务
- jQuery调用WCF示例代码
- WCF系列之Jquery调用WCF(1)
- WCF调用
- HDU 2012
- IDC:2012年第三季度中国X86服务器市场回暖
- MSVC 2012动态编译及静态编译 QT 5.0.2
- 转】struts2的s:iterator 标签 详解
- 【总结】css常见两列布局方案
- WCF WebGet WebInvoke WCF Jquery 调用
- MFC和Win32的区别
- cmd中格式化时间
- 封装一个工具类,搞定图片批量下载
- 匹配IP字串、域名的正则表达式
- 关于ligerGrid中的detail明细属性
- Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十五】
- 递归和迭代的区别
- ORM(Object Relational Mapping, 对象关系映射)简介