Jquery中getJSON在asp.net中的使用说明


Posted in Javascript onMarch 10, 2011

准备工作
·Customer类

public class Customer 
{ 
public int Unid { get; set; } 
public string CustomerName { get; set; } 
public string Memo { get; set; } 
public string Other { get; set; } 
}

(一)ashx

Customer customer = new Customer 
{ Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"}; 
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer); 
context.Response.Write(strJson);

function GetCustomer_Ashx() { 
$.getJSON( 
"webdata/Json_1.ashx", 
function(data) { 
var tt = ""; 
$.each(data, function(k, v) { 
tt += k + ":" + v + "<br/>"; 
}) 
$("#divmessage").html(tt); 
}); 
}

·通过getJSON向ashx请求数据。返回的数据为JSON对象。
(二)ashx文件,但返回的是实体集合
Customer customer = new Customer 
{ Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"}; 
Customer customer2 = new Customer 
{ Unid = 2, CustomerName = "吴用", Memo = "天机星", Other = "智多星" }; 
List<Customer> _list = new List<Customer>(); 
_list.Add(customer); 
_list.Add(customer2); 
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(_list); 
context.Response.Write(strJson);

function GetCustomerList() { 
$.getJSON( 
"webdata/Json_1.ashx", 
function(data) { 
var tt = ""; 
$.each(data, function(k, v) { 
$.each(v,function(kk, vv) { 
tt += kk + ":" + vv + "<br/>"; 
}); 
}); 
$("#divmessage").html(tt); 
}); 
}

 (三)请求aspx文件
·cs文件
protected void Page_Load(object sender, EventArgs e) 
{ 
Customer customer = new Customer 
{ Unid = 1, CustomerName = "宋江", Memo = "天魁星", Other = "黑三郎" }; 
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer); 
Response.Write(strJson); 
}

·Aspx文件
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Json_1.aspx.cs"
Inherits="webdata_Json_1" %>

前台文件只保留Page声明,其它全部删除。

·js文件

function GetCustomer_Aspx() { 
$.getJSON( 
"webdata/Json_1.aspx", 
function(data) { 
var tt = ""; 
$.each(data, function(k, v) { 
tt += k + ":" + v + "<br/>"; 
}) 
$("#divmessage").html(tt); 
}); 
}

这个部分与请求ashx文件时相同。
请求实体集合时,与ashx时相同,这里不做重复。
(四)请求文本文件
文本文件提供json字符串,由$.getJSON得到json对象。
·文本文件
{Unid:1,CustomerName:"宋江",Memo:"天魁星",Other:"黑三郎"}
文本文件提供json串,对于json的组成格式,请参见其它文档。对于这一实体json,会被忽略空行与空格。
function GetCustomer_txt() { 
$.getJSON( 
"webdata/Json_1.txt", 
function(data) { 
var tt = ""; 
$.each(data, function(k, v) { 
tt += k + ":" + v + "<br/>"; 
}) 
$("#divmessage").html(tt); 
}); 
}

解析的方法与其它的相同。

对于多行的如下:
文本:

[ 
{Unid:1,CustomerName:"宋江",Memo:"天魁星",Other:"黑三郎"}, 
{Unid:2,CustomerName:"吴用",Memo:"天机星",Other:"智多星"} 
]

解析:
function GetCustomer_TxtList() { 
$.getJSON( 
"webdata/Json_1.txt", 
function(data) { 
var tt = ""; 
$.each(data, function(k, v) { 
$.each(v, function(kk, vv) { 
tt += kk + ":" + vv + "<br/>"; 
}); 
}); 
$("#divmessage").html(tt); 
}); 
}

与其它的相同。
(五)带参数ajax请求
以ashx为例子,按客户id来请求客户。
·Ashx文件
if(context.Request["iUnid"]==null) 
return; 
context.Response.ContentType = "text/plain"; 
Customer customer = new Customer 
{ Unid = 1, CustomerName = "宋江", Memo = "天魁星", Other = "黑三郎" }; 
Customer customer2 = new Customer 
{ Unid = 2, CustomerName = "吴用", Memo = "天机星", Other = "智多星" }; 
List<Customer> _list = new List<Customer>(); 
_list.Add(customer); 
_list.Add(customer2); int iCustomerId =Convert.ToInt32(context.Request["iUnid"]); 
var cus = from q in _list 
where q.Unid == iCustomerId 
select q; 
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(cus); 
context.Response.Write(strJson);

·ajax请求
function GetCustomer_AshxWithPara() { 
$.getJSON( 
"webdata/Json_2.ashx", 
{ iUnid: 1 }, 
function(data) { 
var tt = ""; 
$.each(data, function(k, v) { 
$.each(v, function(kk, vv) { 
tt += kk + ":" + vv + "<br/>"; 
}); 
}); 
$("#divmessage").html(tt); 
}); 
}

其中参数也是以k/v对格式发出。请求返回的可以看到:在服务端以Customer列表集合返回。

在jquery库中,getJSON其实是调用的:Query.get(url, data, callback, "json")
这点很重要。

Javascript 相关文章推荐
jquery判断单选按钮radio是否选中的方法
May 05 Javascript
javascript实现手机震动API代码
Aug 05 Javascript
JavaScript的面向对象编程基础
Aug 13 Javascript
jquery.validate 自定义验证方法及validate相关参数
Jan 18 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
Jun 13 Javascript
浅析JavaScript中命名空间namespace模式
Jun 22 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
Jul 03 Javascript
vuex的使用及持久化state的方式详解
Jan 23 Javascript
angular 服务随记小结
May 06 Javascript
Vue函数式组件的应用实例详解
Aug 30 Javascript
vue相关配置文件详解及多环境配置详细步骤
May 19 Javascript
浅谈js数组splice删除某个元素爬坑
Oct 14 Javascript
JQuery中的$.getJSON 使用说明
Mar 10 #Javascript
基于jquery的地址栏射击游戏代码
Mar 10 #Javascript
基于jquery的无缝循环新闻列表插件
Mar 07 #Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
Mar 07 #Javascript
jQuery总体架构的理解分析
Mar 07 #Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
Mar 06 #Javascript
js中将具有数字属性名的对象转换为数组
Mar 06 #Javascript
You might like
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
PHP单例模式定义与使用实例详解
2017/02/06 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
php post json参数的传递和接收处理方法
2018/05/31 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
js loading加载效果实现代码
2009/11/24 Javascript
数组Array进行原型prototype扩展后带来的for in遍历问题
2010/02/07 Javascript
Ext 今日学习总结
2010/09/19 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
jQuery实现用户注册的表单验证示例
2013/08/28 Javascript
jQuery控制网页打印指定区域的方法
2015/04/07 Javascript
VUEJS实战之构建基础并渲染出列表(1)
2016/06/13 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
JavaScript中省略元素对数组长度的影响
2016/10/26 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
2017/04/08 jQuery
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
JavaScript面向对象继承原理与实现方法分析
2018/08/09 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
JS正则表达式常见函数与用法小结
2020/04/13 Javascript
Python类的多重继承问题深入分析
2014/11/09 Python
Python卸载模块的方法汇总
2016/06/07 Python
python 专题九 Mysql数据库编程基础知识
2017/03/16 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
实例讲解Python爬取网页数据
2018/07/08 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
从0开始的Python学习016异常
2019/04/08 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
营业员演讲稿
2013/12/30 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
护士个人年度总结范文
2015/02/13 职场文书
铁人观后感
2015/06/16 职场文书
2016年清明节寄语
2015/12/04 职场文书