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

 更新时间:2011年03月10日 12:23:23   作者:  
Jquery中getJSON在asp.net中的使用说明,需要的朋友可以参考下。
准备工作
·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")
这点很重要。

相关文章

  • JQuery中serialize()用法实例分析

    JQuery中serialize()用法实例分析

    这篇文章主要介绍了JQuery中serialize()用法,实例分析了serialize()方法的功能、定义及相关使用技巧,需要的朋友可以参考下
    2015-02-02
  • Jquery对新插入的节点 绑定Click事件失效的解决方法

    Jquery对新插入的节点 绑定Click事件失效的解决方法

    下面小编就为大家带来一篇Jquery对新插入的节点 绑定Click事件失效的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)

    基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)

    本篇文章基于jquery让数字时钟真正的跑起来,实现一个带有日期和星期的网页版数字时钟,效果非常逼真,感兴趣的朋友一起看看吧
    2015-11-11
  • jquery实现标签上移、下移、置顶

    jquery实现标签上移、下移、置顶

    这篇文章主要介绍了jquery实现标签上移、下移、置顶的相关资料,并附上示例,非常实用,需要的朋友可以参考下
    2015-04-04
  • jQuery实现tab栏切换效果

    jQuery实现tab栏切换效果

    这篇文章主要为大家详细介绍了jQuery实现tab栏切换效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • jquery实现刷新随机变化样式特效(tag标签样式)

    jquery实现刷新随机变化样式特效(tag标签样式)

    本文主要介绍了tag标签随机多彩变化的超链接样式,使用JQ+DIV+CSS实现刷新随机变化样式特效。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • js实现表格筛选功能

    js实现表格筛选功能

    本文主要介绍了js实现表格筛选功能的代码。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • jQuery制作仿Mac Lion OS滚动条效果

    jQuery制作仿Mac Lion OS滚动条效果

    本文是通过nanoscrollerjs简单实现Mac OS 系统滚动条效果特效,以及本插件的使用方法和参数,非常不错,这里推荐给大家。
    2015-02-02
  • jQuery Validate表单验证深入学习

    jQuery Validate表单验证深入学习

    这篇文章主要介绍了jQuery Validate表单验证入门知识,该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 详解JQuery基础动画操作

    详解JQuery基础动画操作

    这篇文章主要介绍了JQuery基础动画操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04

最新评论