修改数据成功后,无刷新显示数据,如何实现额,怎么样回调....帮帮忙大神们..
success:function就是回调函数,将里面添加到页面上,就可以了
能说的具体一点吗?不太懂....谢谢
@小初:
success:function(m){// m就是后台返回的数据,m可以自己指定,可以为msg,data等 //在这里处理返回的数据,可以进行拼接,通过append、HTML放入指定的div中 }
你可以看JQuery的文档,那个比较详细
@秋壶冰月: 我知道在那里回调,就是不知道怎么写...
@小初: 你后台返回的数据,是什么样的?你具体要做什么功能?你缩松
@秋壶冰月:
修改成功后重新绑定,实现无刷新
@小初: JavaScript是不能直接解析DataTable的数据的,所以通过下面两种方式都可以的
1、通过将table的数据循环出来,用StringBuilder将前台的数据进行拼接起来,前台直接拿来将数据添加到页面上
2、将DataTable数据转换JSON格式数据,Javascript是可以解析的,在前台用JavaScript进行拼接
http://www.cnblogs.com/qq0827/archive/2013/03/23/2977760.html
@秋壶冰月: 在后台转化为json格式后 在
success : function(m)
{
//在这怎么接收
}
@小初:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script src="Script/jquery-1.4.4.min.js"></script> <script> $(function () { $("#btnFirst").click(function () {// $.get("Handler/AjaxDataShowMethod.ashx?action=first", {}, function (data) { $("#showContent1").append(data); }); }); $("#btnSecond").click(function () { $.getJSON("Handler/AjaxDataShowMethod.ashx?action=second", {}, function (data) { var strTds = "<table>"; strTds += "<tr><td>Id</td><td>Name</td><td>ParentId</td></tr>"; for (var i = 0; i < data.length; i++) { var tree = data[i]; var str = "<tr>"; str += "<td>" + tree.Id + "</td>"; str += "<td>" + tree.Name + "</td>"; str += "<td>" + tree.ParentId + "</td>"; str += "</tr>"; strTds += str; } strTds += "</table>"; $("#showContent2").append(strTds); }); }); }); </script> </head> <body> <div id="container"> <input type="button" value="第一种方式" id="btnFirst" /> <input type="button" value="第二种方式" id="btnSecond" /> </div> <div id="showContent1"> </div> <hr /> <div id="showContent2"> </div> </body> </html>
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using System.Web.Script.Serialization; namespace ZTree_Demo.Handler { /// <summary> /// AjaxDataShowMethod 的摘要说明 /// </summary> public class AjaxDataShowMethod : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; #region 初始化数据 //用实体类模拟一些数据 List<TreeEntity> list = new List<TreeEntity>(); var tree1 = new TreeEntity() { Id = 1, Name = "系统管理", ParentId = 0 }; var tree2 = new TreeEntity() { Id = 2, Name = "角色管理", ParentId = 0 }; var tree3 = new TreeEntity() { Id = 3, Name = "登陆管理", ParentId = 0 }; var tree4 = new TreeEntity() { Id = 4, Name = "站内搜索", ParentId = 0 }; var tree5 = new TreeEntity() { Id = 5, Name = "邮件推荐", ParentId = 1 }; var tree6 = new TreeEntity() { Id = 5, Name = "账户余额", ParentId = 2 }; list.Add(tree1); list.Add(tree2); list.Add(tree3); list.Add(tree4); list.Add(tree5); list.Add(tree6); #endregion string action = context.Request["action"]; if (action=="first") { StringBuilder tb = new StringBuilder(); tb.Append("<table>"); tb.Append("<tr><td>Id</td><td>Name</td><td>ParentId</td></tr>"); foreach (var item in list) { tb.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>",item.Id,item.Name,item.ParentId); } tb.Append("</table>"); context.Response.Write(tb.ToString()); context.Response.End(); } else if (action=="second") { //将list数据转换成json格式,可以使用JSON.Net组件 context.Response.Write(new JavaScriptSerializer().Serialize(list)); context.Response.End(); } else { context.Response.Write("error"); } } public bool IsReusable { get { return false; } } } }
@秋壶冰月: 谢谢。...
在 success 那个回调里面执行你的个性页数数据的方法不就可以了么?当 AJAX 执行成功后是会回调你注册在 success 上的方法的。希望可以帮到你。