为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 用Jquery访问WebService并返回Json

用Jquery访问WebService并返回Json

2018-03-24 13页 doc 36KB 6阅读

用户头像

is_574951

暂无简介

举报
用Jquery访问WebService并返回Json用Jquery访问WebService并返回Json 经常会用JavaScript访问asp.net的Webservice的需求,通常的方法是用asp.net ajax来解决,但asp.net ajax框架在不国内并不经常被使用。 在我们的应用中一般会是这样的,使用了jquery作为客户端框架,ajax请求也通常返回html或者json。html这里就不讨论了。返回json一般都是搞一个handler.ashx来处理请求,拼凑字符串来返回json。从而放弃了ws,因为ws返回的是xml,使用起来不方便。 所以我觉着比较完美...
用Jquery访问WebService并返回Json
用Jquery访问WebService并返回Json 经常会用JavaScript访问asp.net的Webservice的需求,通常的方法是用asp.net ajax来解决,但asp.net ajax在不国内并不经常被使用。 在我们的应用中一般会是这样的,使用了jquery作为客户端框架,ajax请求也通常返回html或者json。html这里就不讨论了。返回json一般都是搞一个handler.ashx来处理请求,拼凑字符串来返回json。从而放弃了ws,因为ws返回的是xml,使用起来不方便。 所以我觉着比较完美的解决方法是让ws返回json而且不用asp.net ajax的客户端框是比较理想的解决方法。 通过观测发现asp.net ajax的客户端框架请求webservice的时候返回的是json,为什么webservice没有返回xml而返回了json呢,抓包分析到,关键在request的headers中 “Content-Type: application/json;utf-8” ,因此webservice就使用了json的序列化,应该是 “System.Web.Script.Serialization.JavaScriptSerializer”这个类完成的工作,通过 web.config的配置,把*.asmx交给了System.Web.Extensions.Dll。也就是这里还是用了asp.net ajax,不过是用的服务端部分,我这里直接用的asp.net 3.5 以上都是在啰嗦,具体的方法很简单,看例子 ws1.asmx using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Linq; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Xml.Linq; namespace test2 { /// /// Summary description for WS1 /// [WebService(Namespace = ";)] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] [System.Web.Script.Services.ScriptService] public class WS1 : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod] public TestUser CreateUser(string name,int age) { return new TestUser { Name = name, Age = age }; } } public class TestUser { public string Name { get; set; } public int Age { get; set; } } } test.html Untitled Page web.config为vs2008在.net 3.5状态下创建的默认的 也有很重要的作用 这里贴出来
用javascript直接访问asp.net的webservice,方法类似,自己构建ajax请求而已,注意的就 是设置header,剩下的asp.net 3.0以上版本会自动序列化为json
/
本文档为【用Jquery访问WebService并返回Json】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索