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請求數(shù)據(jù)。返回的數(shù)據(jù)為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);
});
}
與其它的相同。
(五)帶參數(shù)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);
});
}
其中參數(shù)也是以k/v對格式發(fā)出。請求返回的可以看到:在服務端以Customer列表集合返回。
在jquery庫中,getJSON其實是調(diào)用的:Query.get(url, data, callback, "json")
這點很重要。
·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請求數(shù)據(jù)。返回的數(shù)據(jù)為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);
});
}
與其它的相同。
(五)帶參數(shù)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);
});
}
其中參數(shù)也是以k/v對格式發(fā)出。請求返回的可以看到:在服務端以Customer列表集合返回。
在jquery庫中,getJSON其實是調(diào)用的:Query.get(url, data, callback, "json")
這點很重要。
您可能感興趣的文章:
相關文章
Jquery對新插入的節(jié)點 綁定Click事件失效的解決方法
下面小編就為大家?guī)硪黄狫query對新插入的節(jié)點 綁定Click事件失效的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06基于jQuery和CSS3制作數(shù)字時鐘附源碼下載(jquery篇)
本篇文章基于jquery讓數(shù)字時鐘真正的跑起來,實現(xiàn)一個帶有日期和星期的網(wǎng)頁版數(shù)字時鐘,效果非常逼真,感興趣的朋友一起看看吧2015-11-11jquery實現(xiàn)刷新隨機變化樣式特效(tag標簽樣式)
本文主要介紹了tag標簽隨機多彩變化的超鏈接樣式,使用JQ+DIV+CSS實現(xiàn)刷新隨機變化樣式特效。具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02