首页 新闻 会员 周边

如何实现无刷新,大神们帮帮忙........

0
悬赏园豆:10 [已解决问题] 解决于 2014-05-24 16:08

修改数据成功后,无刷新显示数据,如何实现额,怎么样回调....帮帮忙大神们..

行走的小蜗牛的主页 行走的小蜗牛 | 初学一级 | 园豆:5
提问于:2014-05-24 09:14
< >
分享
最佳答案
0

success:function就是回调函数,将里面添加到页面上,就可以了

收获园豆:10
秋壶冰月 | 大侠五级 |园豆:5903 | 2014-05-24 10:39

能说的具体一点吗?不太懂....谢谢

行走的小蜗牛 | 园豆:5 (初学一级) | 2014-05-24 14:25

@小初: 

success:function(m){// m就是后台返回的数据,m可以自己指定,可以为msg,data等
   //在这里处理返回的数据,可以进行拼接,通过append、HTML放入指定的div中
}

你可以看JQuery的文档,那个比较详细

秋壶冰月 | 园豆:5903 (大侠五级) | 2014-05-24 14:48

@秋壶冰月: 我知道在那里回调,就是不知道怎么写...

行走的小蜗牛 | 园豆:5 (初学一级) | 2014-05-24 14:54

@小初: 你后台返回的数据,是什么样的?你具体要做什么功能?你缩松

秋壶冰月 | 园豆:5903 (大侠五级) | 2014-05-24 14:57

@秋壶冰月:

修改成功后重新绑定,实现无刷新

行走的小蜗牛 | 园豆:5 (初学一级) | 2014-05-24 15:08

@小初: JavaScript是不能直接解析DataTable的数据的,所以通过下面两种方式都可以的

1、通过将table的数据循环出来,用StringBuilder将前台的数据进行拼接起来,前台直接拿来将数据添加到页面上

2、将DataTable数据转换JSON格式数据,Javascript是可以解析的,在前台用JavaScript进行拼接

http://www.cnblogs.com/qq0827/archive/2013/03/23/2977760.html

秋壶冰月 | 园豆:5903 (大侠五级) | 2014-05-24 15:24

@秋壶冰月: 在后台转化为json格式后 在

success : function(m)

{

//在这怎么接收

}

行走的小蜗牛 | 园豆:5 (初学一级) | 2014-05-24 15:55

@小初: 

<!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;
            }
        }
    }
}
秋壶冰月 | 园豆:5903 (大侠五级) | 2014-05-24 16:01

@秋壶冰月: 谢谢。...

行走的小蜗牛 | 园豆:5 (初学一级) | 2014-05-24 16:07
其他回答(1)
0

在 success 那个回调里面执行你的个性页数数据的方法不就可以了么?当 AJAX 执行成功后是会回调你注册在 success 上的方法的。希望可以帮到你。

JRoger | 园豆:258 (菜鸟二级) | 2014-05-24 09:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册