用Jquery访问WebService并返回Json的代码第1/3页_asp.net教程-查字典教程网
用Jquery访问WebService并返回Json的代码第1/3页
用Jquery访问WebService并返回Json的代码第1/3页
发布时间:2016-12-29 来源:查字典编辑
摘要:在我们的应用中一般会是这样的,使用了jquery作为客户端框架,ajax请求也通常返回html或者json。html这里就不讨论了。返回js...

在我们的应用中一般会是这样的,使用了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>

/// Summary description for WS1

/// </summary>

[WebService(Namespace = "http://onewww.org/")]

[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; }

}

}

当前1/3页123下一页阅读全文

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新asp.net教程学习
    热门asp.net教程学习
    编程开发子分类