操作Jquery Ajax 返回的Dataset
2013-05-28 13:51 Evan.Pei 阅读(1944) 评论(2) 编辑 收藏 举报0.后台代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | /// <summary> /// 将DataSet转化成JSON数据 /// </summary> /// <param name="ds"></param> /// <returns></returns> public static string DataSetToJson(DataSet ds) { string json = string .Empty; try { if (ds.Tables.Count == 0) throw new Exception( "DataSet中Tables为0" ); json = "{" ; for ( int i = 0; i < ds.Tables.Count; i++) { json += "Table" + (i + 1) + ":[" ; for ( int j = 0; j < ds.Tables[i].Rows.Count; j++) { json += "{" ; for ( int k = 0; k < ds.Tables[i].Columns.Count; k++) { json += ds.Tables[i].Columns[k].ColumnName + ":'" + ds.Tables[i].Rows[j][k].ToString() + "'" ; if (k != ds.Tables[i].Columns.Count - 1) json += "," ; } json += "}" ; if (j != ds.Tables[i].Rows.Count - 1) json += "," ; } json += "]" ; if (i != ds.Tables.Count - 1) json += "," ; } json += "}" ; } catch (Exception ex) { throw new Exception(ex.Message);} return json; } |
1.Jquery Ajax
using System.Web.Services;
[WebMethod]
public static string getData2(){...}
1 2 3 4 5 6 7 8 9 10 11 12 13 | $( "#btn_jquery_Ajax" ).bind( "click" , function () { $.ajax({ url: "newPerDayImportInventQuery.aspx/getData2" , //要访问的方法名 data: m, //参数,json格式 contentType: "application/json; charset=utf-8" , //简体中文 type: "Post" , //提交方式 dataType: "json" , //返回的类型 success: jqajaxok, error: function (result) { alert( "失败" ); } //失败回调函数 }); }); |
2.操作Dataset
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | function jqajaxok(result) { var obj = eval( "(" + result.d + ")" ); var keys = getKeys(obj.Table2[0]); var TableO = document.createElement( 'table' ); TableO.border = "1px" ; var thTitle = createTableTitle(keys); TableO.appendChild(thTitle); for ( var i = 0; i < obj.Table2.length; i++) { var trO = document.createElement( 'tr' ); for ( var y = 0; y < keys.length; y++) { var tdO = document.createElement( 'td' ); tdO.innerHTML = obj.Table2[i][keys[y]]; trO.appendChild(tdO); } TableO.appendChild(trO); } document.getElementById( "form1" ).appendChild(TableO); } //创建表头 function createTableTitle(keys) { var trO = document.createElement( 'tr' ); for ( var y = 0; y < keys.length; y++) { var thO = document.createElement( 'th' ); thO.innerHTML = keys[y]; trO.appendChild(thO); } return trO; } //获取键的个数 function getKeys(arr) { var key, keys = []; for (key in arr) { keys.push(key); } return keys; }; |
1 | <br> <br> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构