用Jquery访问WebService并返回Json的代码第1/3页

 更新时间:2008年09月15日 22:37:34   作者:  
经常会用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>
/// 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; }
}
}

相关文章

  • .Net Core3.0 WebApi 项目框架搭建之使用Serilog替换掉Log4j

    .Net Core3.0 WebApi 项目框架搭建之使用Serilog替换掉Log4j

    Serilog 是一个用于.NET应用程序的日志记录开源库,配置简单,接口干净,并可运行在最新的.NET平台上,这篇文章主要介绍了.Net Core3.0 WebApi 项目框架搭建之使用Serilog替换掉Log4j,需要的朋友可以参考下
    2022-02-02
  • 自动类型安全的REST.NET标准库refit

    自动类型安全的REST.NET标准库refit

    这篇文章介绍了自动类型安全的REST.NET标准库refit,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • GridView控件如何显示序号

    GridView控件如何显示序号

    这篇文章主要介绍了GridView控件如何显示序号的方法,需要解决这方面问题的朋友可以参考一下
    2015-10-10
  • 写一个含数字,拼音,汉字的验证码生成类

    写一个含数字,拼音,汉字的验证码生成类

    本文和大家分享的是一个集成1:小写拼音;2:大写拼音;3:数字;4:汉字的验证码生成类。本章例子也会有一个mvc使用验证码校验的场景。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 四个常用的.NET的SQLHELPER方法实例

    四个常用的.NET的SQLHELPER方法实例

    这篇文章主要介绍了四个常用的.NET的SQLHELPER方法,在WinForm的实际开发中比较常用,需要的朋友可以参考下
    2014-08-08
  • ASP.NET 页面中动态增加的控件、添加事件

    ASP.NET 页面中动态增加的控件、添加事件

    在ASP.NET中动态创建一个控件总是不那么顺利,特别是当对页面的Life Cycle不是那么了然的情况下!这里简单描述一下要求,然后提供一个解决方案,大家看看有没有更好的Idea,如果有的话就是我的大幸了,呵呵!
    2009-07-07
  • 如何在.NET Core应用中使用NHibernate详解

    如何在.NET Core应用中使用NHibernate详解

    NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库。下面这篇文章主要给大家介绍了关于如何在.NET Core应用中使用NHibernate的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-08-08
  • ASP.NET内置对象之Application对象

    ASP.NET内置对象之Application对象

    Application对象是HttpApplicationState类的一个实例,它可以产生一个所有Web应用程序都可以存取的变量,这个变量的可以存取范围涵盖全部使用者,也就是说只要正在使用这个网页的程序都可以存取这个变量。
    2008-09-09
  • asp.net实现多个文件同时下载功能

    asp.net实现多个文件同时下载功能

    这篇文章主要为大家详细介绍了asp.net实现多个文件同时下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • ASP.NET MVC实现树形导航菜单

    ASP.NET MVC实现树形导航菜单

    这篇文章介绍了ASP.NET MVC实现树形导航菜单的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09

最新评论