亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

實例講解jquery與json的結合

2019-11-20 10:50:33
字體:
來源:轉載
供稿:網友

通過AJAX異步減少網絡內容傳輸,而JSON則可以把傳輸內容縮減到純數據;然后利用jQuery內置的AJAX功能直接獲得JSON格式的數據;在客戶端直接綁定到數據控件里面,從而達到最優。
1.設計htm頁面

<!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>test2</title> <script language="javascript" type="text/javascript" src="js/jquery-latest.pack.js"></script> <script language="javascript" type="text/javascript" src="js/PageDate.js"></script>  </head> <body> <div> <div> <br /> <input id="first" type="button" value=" << " /><input id="previous" type="button"value=" < " /><input id="next" type="button" value=" > " /><input id="last" type="button"value=" >> " />  <span id="pageinfo"></span> <ul id="datas"> <li id="template"> <span id="OrderID"> 訂單ID </span>/ <span id="CustomerID"> 客戶ID </span> <span id="EmployeeID"> 雇員ID </span>/ <span id="OrderDate"> 訂購日期 </span>/ <span id="ShippedDate"> 發貨日期 </span>/ <span id="ShippedName"> 貨主名稱 </span>/ <span id="ShippedAddress"> 貨主地址 </span>/ <span id="ShippedCity"> 貨主城市 </span>/ <span id="more"> 更多信息 </span> </li> </ul> </div> <div id="load" style="left: 0px; position: absolute; top: 0px; background-color: red"> LOADING.... </div> <input type="hidden" id="pagecount" /> </div> </body> </html> ////注:ID屬性比較重要,用于數據綁定。

2.使用jQuery編寫AJAX請求文件

 var pageIndex = 1 var pageCount = 0;  $(function(){ GetPageCount();//取得分頁總數 pageCount = parseInt($("#pagecount").val());//分頁總數放到變量pageCount里 $("#load").hide();//隱藏loading提示 $("#template").hide();//隱藏模板 ChangeState(0,1);//設置翻頁按鈕的初始狀態  bind();//綁定第一頁的數據  //第一頁按鈕click事件 $("#first").click(function(){ pageIndex = 1; ChangeState(0,1); bind(); });  //上一頁按鈕click事件 $("#previous").click(function(){ pageIndex -= 1; ChangeState(-1,1); if(pageIndex <= 1) { pageIndex = 1; ChangeState(0,-1); } bind(); });  //下一頁按鈕click事件 $("#next").click(function(){ pageIndex += 1; ChangeState(1,-1); if(pageIndex>=pageCount) { pageIndex = pageCount; ChangeState(-1,0); } bind(pageIndex); });  //最后一頁按鈕click事件 $("#last").click(function(){ pageIndex = pageCount; ChangeState(1,0); bind(pageIndex); }); });  //AJAX方法取得數據并顯示到頁面上 function bind() { $("[@id=ready]").remove(); $("#load").show(); $.ajax({ type: "get",//使用get方法訪問后臺 dataType: "json",//返回json格式的數據 url: "Handler.ashx",//要訪問的后臺地址 data: "pageIndex=" + pageIndex,//要發送的數據 complete :function(){$("#load").hide();},//AJAX請求完成時隱藏loading提示 success: function(msg){//msg為返回的數據,在這里做數據綁定 var data = msg.table; $.each(data, function(i, n){ var row = $("#template").clone(); row.find("#OrderID").text(n.OrderID); row.find("#CustomerID").text(n.CustomerID); row.find("#EmployeeID").text(n.EmployeeID); row.find("#OrderDate").text(ChangeDate(n.OrderDate)); if(n.RequiredDate !== undefined) row.find("#ShippedDate").text(ChangeDate(n.RequiredDate)); row.find("#ShippedName").text(n.ShipName); row.find("#ShippedAddress").text(n.ShipAddress); row.find("#ShippedCity").text(n.ShipCity); row.find("#more").html("<a href=OrderInfo.aspx?id=" + n.OrderID + "&pageindex="+pageIndex+"> More</a>"); row.attr("id","ready");//改變綁定好數據的行的id row.appendTo("#datas");//添加到模板的容器中 }); $("[@id=ready]").show(); SetPageInfo(); } }); }  function ChangeDate(date) { return date.replace("-","/").replace("-","/"); }  //設置第幾頁/共幾頁的信息 function SetPageInfo() { $("#pageinfo").html(pageIndex + "/" + pageCount); }  //AJAX方法取得分頁總數 function GetPageCount() { $.ajax({ type: "get", dataType: "text", url: "Handler.ashx", data: "getPageCount=1", async: false, success: function(msg){ $("#pagecount").val(msg); } }); }  //改變翻頁按鈕狀態 function ChangeState(state1,state2) { if(state1 == 1) { document.getElementById("first").disabled = ""; document.getElementById("previous").disabled = ""; } else if(state1 == 0) { document.getElementById("first").disabled = "disabled"; document.getElementById("previous").disabled = "disabled"; } if(state2 == 1) { document.getElementById("next").disabled = ""; document.getElementById("last").disabled = ""; } else if(state2 == 0) { document.getElementById("next").disabled = "disabled"; document.getElementById("last").disabled = "disabled"; } } 

3.利用JSON三方控件在服務器端獲取JSON格式數據 

<%@ WebHandler Language="C#" Class="jQueryJSON.Handler" %>  using System; using System.Data; using System.Web; using System.Collections; using System.Web.Services; using System.Web.Services.Protocols; using System.Configuration; using System.Data.SqlClient; using System.Text; using System.Xml; using NetServ.Net.Json;  namespace jQueryJSON { /// <summary> /// $codebehindclassname$ 的摘要說明 /// </summary> [WebService(Namespace = "http://tempuri.org/json/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Handler : IHttpHandler { readonly int PageSize = int.Parse(ConfigurationManager.AppSettings["PageSize"]); public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //不讓瀏覽器緩存 context.Response.Buffer = true; context.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1); context.Response.AddHeader("pragma", "no-cache"); context.Response.AddHeader("cache-control", ""); context.Response.CacheControl = "no-cache";  string result = ""; if (context.Request.Params["getPageCount"] != null) result = GetPageCount(); if (context.Request.Params["pageIndex"] != null) { string pageindex = context.Request.Params["pageIndex"]; //if (context.Cache.Get(pageindex) != null) // result = context.Cache.Get(pageindex).ToString(); //else //{ // result = GetPageData(context.Request.Params["pageIndex"]); // context.Cache.Add( // pageindex, // result, // null, // DateTime.Now.AddMinutes(1), // System.Web.Caching.Cache.NoSlidingExpiration, // System.Web.Caching.CacheItemPriority.Default, // null); //} result = GetPageData(context.Request.Params["pageIndex"]); } context.Response.Write(result); }  private string GetPageData(string p) { int PageIndex = int.Parse(p); string sql; if (PageIndex == 1) sql = "select top " + PageSize.ToString() + " * from Orders order by OrderID desc"; else sql = "select top " + PageSize.ToString() + " * from Orders where OrderID not in(select top " + ((PageIndex - 1) * PageSize).ToString() + " OrderID from Orders order by OrderID desc) order by OrderID desc"; string dbfile = ConfigurationManager.ConnectionStrings["conn"].ToString(); SqlConnection conn = new SqlConnection(dbfile); SqlDataAdapter da = new SqlDataAdapter(sql, conn); DataTable dt = new DataTable("table"); da.Fill(dt); return DataTableJson(dt);  }  private string GetPageCount() { string dbfile = ConfigurationManager.ConnectionStrings["conn"].ToString(); SqlConnection conn = new SqlConnection(dbfile); SqlCommand cmd = new SqlCommand("select count(*) from Orders", conn); conn.Open(); int rowcount = Convert.ToInt32(cmd.ExecuteScalar()); conn.Close(); return ((rowcount + PageSize - 1) / PageSize).ToString(); }  private string DataTable2Json(DataTable dt) { StringBuilder jsonBuilder = new StringBuilder(); jsonBuilder.Append("{/""); jsonBuilder.Append(dt.TableName); jsonBuilder.Append("/":["); for (int i = 0; i < dt.Rows.Count; i++) { jsonBuilder.Append("{"); for (int j = 0; j < dt.Columns.Count; j++) { jsonBuilder.Append("/""); jsonBuilder.Append(dt.Columns[j].ColumnName); jsonBuilder.Append("/":/""); jsonBuilder.Append(dt.Rows[i][j].ToString()); jsonBuilder.Append("/","); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("},"); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("]"); jsonBuilder.Append("}"); return jsonBuilder.ToString(); }  private string DataTableJson(DataTable dt) { JsonWriter writer = new JsonWriter(); JsonObject content = new JsonObject(); JsonArray Orders = new JsonArray(); JsonObject Order; JsonObject OrderItem = new JsonObject();  for (int i = 0; i < dt.Rows.Count; i++) { Order = new JsonObject(); for(int j =0;j<dt.Columns.Count;j++) { Order.Add(dt.Columns[j].ColumnName, dt.Rows[i][j].ToString()); } Orders.Add(Order); } content.Add(dt.TableName, Orders); content.Write(writer);  writer = new IndentedJsonWriter(); content.Write(writer);  return writer.ToString(); }  public bool IsReusable { get { return false; } } } }

以上就是jquery與json的結合實例講解,希望對大家充分學習jquery與json的結合相關文章有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日产欧美精品| 91性高湖久久久久久久久_久久99| 欧美二区乱c黑人| 欧美日韩在线第一页| 91产国在线观看动作片喷水| 欧美日韩中国免费专区在线看| 欧美精品生活片| 欧美孕妇性xx| 欧美激情视频三区| 欧美精品电影在线| 91亚洲人电影| 亚洲性av在线| 秋霞成人午夜鲁丝一区二区三区| 91免费看片网站| 久久精品99国产精品酒店日本| 欧美日韩精品在线视频| 日韩精品视频在线| 黑人精品xxx一区一二区| 国产成人一区二区在线| 97香蕉久久超级碰碰高清版| 久久躁日日躁aaaaxxxx| 亚洲成人黄色网址| 亚洲一区二区三区成人在线视频精品| 久久色精品视频| 国产精品久久久久aaaa九色| 国产精品夜色7777狼人| 亚洲va欧美va国产综合剧情| 欧美中文字幕精品| 久久精品视频一| 日韩美女福利视频| 日本一区二三区好的精华液| 欧美高清一级大片| 欧美午夜片在线免费观看| 成人福利在线视频| www.日本久久久久com.| 日韩成人在线视频| 久久久久久久久久久国产| 欧美国产在线视频| 精品国产91久久久久久| 欧美成年人在线观看| 久久久91精品国产| 夜夜嗨av一区二区三区四区| 国产婷婷97碰碰久久人人蜜臀| 欧洲成人在线视频| 久久久久久久激情视频| 18一19gay欧美视频网站| 亚洲精品视频在线观看视频| 成人xvideos免费视频| 久久视频在线免费观看| 欧美一区二区大胆人体摄影专业网站| 国产综合色香蕉精品| 国产成人精品久久亚洲高清不卡| 91在线精品播放| 国产不卡av在线| 91国语精品自产拍在线观看性色| 在线观看精品国产视频| 欧美激情图片区| 最新国产精品亚洲| 成人女保姆的销魂服务| 日韩在线观看视频免费| 成人a级免费视频| 国产精品88a∨| 精品人伦一区二区三区蜜桃免费| 亚洲精品www久久久| 亚洲人成电影网站色| 日韩av影视在线| 亚洲免费一在线| 91精品国产综合久久久久久蜜臀| 国产小视频国产精品| 久久视频在线免费观看| 国产精品av电影| 国产欧美精品久久久| 久久久精品免费| 永久免费看mv网站入口亚洲| 日韩精品丝袜在线| 欧美成人三级视频网站| 欧美激情欧美狂野欧美精品| 欧美激情18p| 日韩精品999| zzjj国产精品一区二区| 91免费在线视频| 九九热这里只有精品6| 日韩在线视频网| 欧美精品制服第一页| 久久久久久久久久久亚洲| 欧美丰满少妇xxxxx做受| 欧美丝袜第一区| 中文字幕亚洲二区| 国产日韩av在线播放| 国内精品视频一区| 欧美第一黄色网| 久青草国产97香蕉在线视频| 7777kkkk成人观看| 日韩在线视频播放| 国产精品久久久久久久久粉嫩av| 国内揄拍国内精品少妇国语| 国产不卡在线观看| 亚洲天堂开心观看| 国产成人鲁鲁免费视频a| 欧美日韩性视频| 欧美自拍大量在线观看| 在线观看久久av| 精品久久久久久国产91| 亚洲已满18点击进入在线看片| 日韩在线观看免费| 色妞久久福利网| 热门国产精品亚洲第一区在线| 日韩欧美一区二区在线| 992tv在线成人免费观看| 欧美亚洲一级片| 精品久久香蕉国产线看观看gif| 18久久久久久| 成人精品aaaa网站| 91九色国产视频| 黑人狂躁日本妞一区二区三区| 亚洲日本中文字幕免费在线不卡| 亚洲自拍小视频| 中文字幕精品av| 26uuu另类亚洲欧美日本老年| 精品女同一区二区三区在线播放| 国产精品美乳在线观看| 国产99久久精品一区二区 夜夜躁日日躁| www.xxxx欧美| 欧美日韩亚洲国产一区| 精品福利一区二区| 精品久久久国产精品999| 97视频在线观看视频免费视频| 欧美日韩视频在线| 91av在线精品| 久久亚洲国产成人| 国产综合色香蕉精品| 日本三级韩国三级久久| 精品国产31久久久久久| 91精品国产91久久久久久不卡| 日本韩国在线不卡| 午夜剧场成人观在线视频免费观看| 日韩在线观看视频免费| 中文字幕九色91在线| 日韩电影免费在线观看中文字幕| 红桃视频成人在线观看| 在线观看欧美日韩| 亚洲男人天堂2023| 欧美体内谢she精2性欧美| 国产精品video| 国产日韩欧美在线看| 色综合色综合久久综合频道88| 国产精品久久久久久影视| 国产成人精品视| 97在线视频一区| 欧美性猛交xxxx免费看久久久| 亚洲三级av在线| 欧美极品第一页| 日韩av片永久免费网站| 亚洲日本欧美日韩高观看| 精品久久久久久久久久| 日韩精品免费在线| 国产一区二区三区18| 国产精品极品尤物在线观看| 亚洲欧美综合精品久久成人| 一本大道久久加勒比香蕉| 国产亚洲精品久久久优势| 欧美特黄级在线| 亚洲国产毛片完整版| 黑人极品videos精品欧美裸|