Jquery中getJSON在asp.net中的使用说明
Jquery中getJSON在asp.net中的使用说明
发布时间:2016-12-30 来源:查字典编辑
摘要:准备工作·Customer类复制代码代码如下:publicclassCustomer{publicintUnid{get;set;}publ...

准备工作

·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教程学习
热门Javascript教程学习
编程开发子分类