循环ajax频繁请求数据库,出现问题?

循环ajax频繁请求数据库,出现问题?,第1张

如果这些update不必须在同一事务中,可以将其批量传入后台同意 *** 作

我看了上面的描述,主要问题应该是每次 *** 作都要连接盒断开一次数据库这个 *** 作上耗时太多。简易使用连接池。

AJAX是不会返回类似list的结果集或者对象的。建议你使用JSON数据结构对结果进行包装。如果你的后台是使用JAVA进行编写的,那么建议使用更具针对性性能更好的DWR框架。具体怎么使用网上都有介绍,我就不多说了。

首先写一个一般处理程序来获取到你要加载到前台的数据,并序列化成json格式。

//代码实例

public class AjaxUserList : IHttpHandler {

        public void ProcessRequest(HttpContext context) {

            context.Response.ContentType = "text/plain"

            BLL.UserInfoBll userInfoBll = new BLL.UserInfoBll()

            int pageIndex

            if (!int.TryParse(context.Request["pageIndex"],out pageIndex)) {

                pageIndex = 1

            }

            int pageSize = 5

            int pageCount = userInfoBll.GetPageCount(pageSize)

            //判断当前页码的取值范围

            pageIndex = pageIndex < 1 ? 1 : pageIndex

            pageIndex = pageIndex > pageCount ? pageCount : pageIndex

            //获取分页数据

            List<Model.UserInfo> userList = userInfoBll.GetPageList(pageIndex, pageSize)

            //获取页码条

            string pageBar = Util.PageBar.GetPageBar(pageIndex, pageCount)

            //***********************************************************

            //使用匿名类将多组数据序列化成Json格式

            //***********************************************************

            JavaScriptSerializer js = new JavaScriptSerializer()

            string json = js.Serialize(new { resultUserList = userList, resultPageBar = pageBar })//此处使用了匿名类将userList集合和pageBar进行封装后,再序列化

            //***********************************************************

            context.Response.Write(json)

        }

        public bool IsReusable {

            get {

                return false

            }

        }

    }

然后,前台ajax请求这个一般处理处理程序获取到json数据,再通过js将数据添加到html。

//加载用户列表示例

        function LoadUserInfo(pageIndex) {

            $.post("AjaxUserList.ashx", { "pageIndex": pageIndex }, function (data) {

                var serverData = $.parseJSON(data)

                for (var i = 0 i < serverData.resultUserList.length i++) {

                    $("<tr><td>" + serverData.resultUserList[i].ID + "</td><td>" + serverData.resultUserList[i].UName + "</td><td>" + serverData.resultUserList[i].UPwd + "</td><td>" + ChangeDateFormat(serverData.resultUserList[i].SubTime) + "</td><td>" + serverData.resultUserList[i].Remark + "</td><td><a href='javascript:void(0)' class='details' Uid='" + serverData.resultUserList[i].ID + "'>详细</a></td><td><a href='javascript:void(0)' class='edits' Uid='" + serverData.resultUserList[i].ID + "'>编辑</a>  <a href='javascript:void(0)' class='deletes' Uid='" + serverData.resultUserList[i].ID + "' UName='" + serverData.resultUserList[i].UName + "'>删除</a></td></tr>").appendTo("#tabUserList")

                }

            })

        }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10056761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存