jQuery asp.net 用json格式返回自定义对象


Posted in Javascript onApril 07, 2010

客户端用一个html页面调用一个ashx文件(一般http处理程序),返回 json格式的自定义对象:
html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>ajax测试</title> 
<script src="js/jquery-1.2.3.js" type="text/javascript"></script><!-这里引用了jQuery框架-> 
</head> 
<body> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$("#Button2").click(function(){ 
var url="handler.ashx?&name="+$("#Text1").val()+"&age="+$("#Text2").val(); 
$.get(url,function(result){ 
var obj=eval("("+result+")"); 
alert("姓名:"+obj.Name+"\n"+"年龄:"+obj.Age); 
}) 
}) 
}) 
</script> 
<input id="Button2" type="button" value="button" /><span lang="zh-cn">姓名:</span><input id="Text1" 
type="text" /><span lang="zh-cn">年龄:</span> 
<input id="Text2" 
type="text" /> 
</body> 
</html>

handler.ashx文件:
<%@ WebHandler Language="C#" Class="Handler" %> 
using System; 
using System.Web; 
using System.Runtime.Serialization.Json; 
using System.Collections; 
using System.Runtime.Serialization; 
public class Handler : IHttpHandler { 
public void ProcessRequest(HttpContext context) 
{ 
context.Response.ContentType = "text/plain"; 
string name = context.Request.Params["name"].ToString(); 
string age = context.Request.Params["age"].ToString(); 
person p1 = new person(name,age); 
DataContractJsonSerializer djson = new DataContractJsonSerializer(p1.GetType());//将对象序列化为 JavaScript 对象表示法 (JSON) 
djson.WriteObject(context.Response.OutputStream, p1); 
} 
public bool IsReusable { 
get { 
return false; 
} 
} 
[DataContract]//要序列化,一定要加这个属性 
public class person 
{ 
[DataMember]//属性“DataMember”只在“property, indexer, field”声明中有效。 
public string Name="无名士"; 
[DataMember] 
public string Age="0"; 
public override string ToString() 
{ 
return "姓名:" + Name + "年龄:" + Age; 
} 
public person(string name,string age)//自定义类person 
{ 
this.Name = name; 
this.Age = age; 
} 
public person() 
{ } 
} 
}
Javascript 相关文章推荐
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
Apr 14 Javascript
判断是否安装flash player及当前版本的JS代码
Aug 08 Javascript
JavaScript解析URL参数示例代码
Aug 12 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
Mar 31 Javascript
jQuery实现的可编辑表格完整实例
Jun 20 Javascript
Javascript中判断一个值是否为undefined的方法详解
Sep 28 Javascript
Bootstrap栅格系统学习笔记
Nov 25 Javascript
jQuery EasyUI之验证框validatebox实例详解
Apr 10 jQuery
将Sublime Text 3 添加到右键中的简单方法
Dec 12 Javascript
在 Vue.js中优雅地使用全局事件的方法
Feb 01 Javascript
VUE : vue-cli中去掉路由中的井号#操作
Sep 04 Javascript
mapboxgl实现带箭头轨迹线的代码
Jan 04 Javascript
FileUpload 控件 禁止手动输入或粘贴的实现代码
Apr 07 #Javascript
js 小贴士一星期合集
Apr 07 #Javascript
Javascript 实用小技巧
Apr 07 #Javascript
javascript 函数使用说明
Apr 07 #Javascript
js下获取div中的数据的原理分析
Apr 07 #Javascript
Exjs 入门篇
Apr 07 #Javascript
javascript window.opener的用法分析
Apr 07 #Javascript
You might like
php 生成饼图 三维饼图
2009/09/28 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
PHP图片上传代码
2013/11/04 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
PHP编译安装时常见错误解决办法
2015/05/28 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
2018/12/19 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
vue实现信息管理系统
2020/05/30 Javascript
三步搞定:Vue.js调用Android原生操作
2020/09/07 Javascript
python列表操作实例
2015/01/14 Python
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
简述Python中的面向对象编程的概念
2015/04/27 Python
Python运算符重载用法实例
2015/05/28 Python
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
python 实现数组list 添加、修改、删除的方法
2018/04/04 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
Html5新增标签与样式及让元素水平垂直居中
2019/07/11 HTML / CSS
西班牙用户之间买卖视频游戏的平台:Wakkap
2020/03/21 全球购物
三个Unix的命令面试题
2015/04/12 面试题
主持词开场白
2014/03/17 职场文书
秋季运动会开幕词
2015/01/28 职场文书
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server
js作用域及作用域链工作引擎
2022/07/07 Javascript