- 个人资料
- 阅读排行
- 降低即时搜索的服务器压力(187)
- 2011程序员薪资调查报告全文发布(174)
- 2012年1月编程语言排行榜:C#超C++勇夺第三(166)
- ASCII码表及键盘码表。(156)
- 2012年十大期待(146)
- 2012年IT员工生存的十大技能和技巧(144)
- 简单实用的铁道部12306.cn网站自动化登录( 更新版 )(136)
- 极客须知十大定律(130)
- 评论排行
- 同类排行
- 由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例。该连接将关闭。(16)
- 用户登录Form验证有效期的问题(16)
- Sencha Touch 2 官方文档翻译之 Controllers(控制器学习指南)(6)
- Sencha Touch 2 官方文档翻译之 Intro to Applications with Sencha Touch 2(ST2开发应用程序简介)(44)
- 对缓存的思考——提高命中率(29)
- HTTP协议详解(33)
- 深入理解JavaScript系列(20):《你真懂JavaScript吗?》答案详解(37)
- 简单实用的铁道部12306.cn网站自动化登录( 更新版 )(136)
在做即时搜索(就是像百度搜索输入文本框内容的时候自动搜索出类似的信息)的时候一般都是点击键盘触发搜索事件 一般用onkeydowm或onkeyup (也许onpropertychange是很好的,但可惜在ff和chorme下是不支持的)这样每次点击键盘就会搜索 如果有很多用户的情况下,那么服务器的压力是很大的 怎么办 只能减少提交搜索次数解决了下面这两个方法是文本框每次onkeyup的触发事件---Str是搜索关键字
AjaxSearch: function (Str) {
if (Str.trim() == "") { return false; }
if (NetHome.PostMessage.posting == false) {
NetHome.PostMessage.posting = true;
setTimeout("NetHome.Utility.AjaxSearching()", 1000);
}
},
AjaxSearching: function () {
var Str = $('#searchtxt').val().trim();//文本框的值
$.post("/Ajax/AjaxSearch", { SearchKey: Str }, function (Msg) {
//处理展示搜索内容的代码
}
NetHome.PostMessage.posting = false;
});
},
这样的效果就是 第一次触发提交事件的一秒后才执行提交搜索 搜索的关键字也是一秒后输入的关键字 并且在一次提交过程中,不会再接受其他提交事件 从而大大降低每次点击键盘都提交给服务器带来的压力
注意:setTimeout的第一个参数(待执行的代码)要当作字符串输入 并且代执行的代码
如果是有参数的方法 那么参数必须是全局变量(至少不能是在这个方法中定义的变量)
- 我有我在下一篇:简单实用的铁道部12306.cn网站自动化登录( 更新版 )
- 我有我在上一篇: ASCII码表及键盘码表。
- 评论内容:

