-
ajax异步怎么实现这样的效果???10
传统的 Web 应用程序都使用请求/响应模型从服务器上获得完整的 HTML 页面。常常是点击一个按钮,等待服务器响应,再点击另一个按钮,然后再等待,这样一个反复的过程。
最近刚刚分配一个查勤系统模块。
整个系统的大致流程这样:
管理员选择好值班人后可以通过发送按钮发送,让值班人看到,值班人即时响应,显示他此时在岗,如果值班人不响应说明不在岗 。
自己的想法是:值班人表里建一个isduty字段(初始为0),用于判断是否在班,管理员通过选择部门的值班人,然后发送请求
发送的同时,把isduty字段改为1,值班人页面实现页面定时刷新,读取最新的isduty字段,发现是1后,调用弹出对话框值班人确认后把isduty改为2,同时管理员页面也定时刷新,读取为2的话表示值班人已经响应,同时弹出值班人在岗对话框,确认后把isduty改为默认的0.
这样导致页面要定时刷新,增加了负担,效率低下
据说ajax异步,使用 异步发送请求到后台修改数据库可以解决
对ajax技术不是很懂,希望大家给点意见
2008年7月01日 19:58
5个答案 按时间排序 按投票排序
-
值班人页面实现页面定时刷新改为在页面上做个定时器,定时向服务器发送ajax请求,其他按照你所说的做.这样就不用定时刷新页面了.
一个例子:window.onload=function myOnload(){ setInterval('send()',100); } function send(){ var url="你要访问的url?id=值班员id" var content="" http_request = false; if(window.XMLHttpRequest) { http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType("text/xml"); } } http_request.onreadystatechange = callback; http_request.open("post", url, true); http_request.send(content);
2008年7月04日 16:42
-
hjgundam
引用
所有如果想获得xmlhttp返回值必须用同步,异步无法得到返回值。
jQuery的实现早就能做到这一点了,其他的实现也有很多.
不要误导人家呀!2008年7月02日 16:12
-
所以一般而言你可能还是需要用ajax来定时轮询,我觉得如果这样你可以尽量减少访问数据库的次数,这些数据可以放在内存中。
当然,还有基于HTTP长连接的服务器推的技术。比如comet的开源实现pushlet,现在支持的服务器也越来越多了,没记错的话,tomcat6.0,jetty,GlassFish V2等很多都是有的。到底有没有必要采用这种技术,你可以研究研究。
这里有个简单的关于comet的介绍
http://www.ibm.com/developerworks/cn/websphere/techjournal/0711_col_burckart/0711_col_burckart.html2008年7月02日 00:26
-
首先要说的你说AJAX的异步可能不像你想象的那样
找个摘来的说明http://www.11zhuce.com/seo/Ajax-xmlhttp.html
var returnValue = null; xmlhttp = createXmlHttp(); xmlhttp.onreadystatechange = function() { if(xmlhttp.readyState == 4 && xmlhttp.status == 200) { if (xmlhttp.responseText == "true") { returnValue = "true"; } else { returnValue = "false"; } } }; xmlhttp.open("Post",url,true); //异步传输 xmlhttp.setRequestHeader("If-Modified-Since","0"); //不缓存Ajax xmlhttp.send(sendStr); return returnValue;
如果是同步(false),返回值是true或false,因为执行完send后,开始执行onreadystatechange,程序会等到onreadystatechange都执行完,取得responseText后才会继续执行下一条语句,所以returnValue一定有值。
如果是异步(true),返回值一定是null,因为程序执行完send后不等xmlhttp的响应,而继续执行下一条语句,所以returnValue还没有来的及变化就已经返回null了。
所有如果想获得xmlhttp返回值必须用同步,异步无法得到返回值。
同步异步使用xmlhttp池时都要注意:取得xmlhttp时只能新建xmlhttp,不能从池中取出已用过的xmlhttp,因为被使用过的xmlhttp的readyState为4,所以同步异步都会send但不执行onreadystatechange。2008年7月02日 00:12
-
AJAX仍然是基于http协议的,除了感觉上有好一点外,和刷新页面对服务器的压力是没有太大区别的。
因此如果你的目的是考虑服务器负担和效率问题的话,就不要选基于http的方案,除非http服务器端是你高度制定的。
话说回来,你这个问题要细致讨论的。
1.有多少值班人?
2.你的服务器是主要跑这个业务的么?
如果仅仅几个或者几十个,服务器主要跑这个业务,而且(资源)空闲的很,那用什么技术都无所谓了,http仍然可以用(当然包括ajax技术,还有一种推技术,你查一下资料),是否长连接就无所谓了。
反之,长连接的技术恐怕就不能用了,就要向QQ那样用UDP的技术了。
一定要明白ajax就是背后的http.仅仅是在表现上有所区别,(异步这个说法还是不解释的好,越描越黑)。
ajax能完成你的需求,关键是资源允许不允许。2008年7月01日 22:26
相关推荐
"利用Ajax+Jquery实现异步进度条效果"这个主题正是围绕这一目标展开,它涉及到C#后端开发、.NET框架、Ajax技术以及Jquery库的前端应用。下面将详细阐述这些知识点。 首先,C#是一种面向对象的编程语言,广泛应用于...
在这个例子中,我们将探讨如何使用AJAX实现异步更新城市下拉菜单,当用户在省份下拉菜单中做出选择时。 首先,我们需要创建HTML结构,包括两个`<select>`元素,一个用于省份,另一个用于城市。省份的选项可以通过...
WEB开发中经常会用到AJAX来进行异步操作 通常在网络状况差的情况下 可能你的一个操作会有延迟 而客户端如果没有接受到提示可能会导致多次发送 如果你使用了jQuery,那么你可以使用这里提供的loading.js 只要引入到...
在本主题中,我们将深入探讨树形结构的多种实现方式,特别是涉及到Ajax异步实现的树形菜单。在实际项目开发中,这种技术能够提供动态交互的用户体验,使用户能够方便地浏览和操作层次化的信息。 首先,让我们理解树...
通过查看和学习这个文件,你可以更好地理解如何结合jQuery和Ajax来实现异步更新,以及如何处理返回的数据和更新DOM元素。 总的来说,掌握jQuery和Ajax的异步更新技术对于提升Web应用的交互性和响应性至关重要。通过...
本话题主要聚焦于使用jQuery(简称JQ)库结合Ajax技术来实现异步调用的过程。下面将详细阐述这一主题。 ### jQuery和Ajax简介 **jQuery** 是一个轻量级的JavaScript库,它简化了DOM操作、事件处理、动画效果以及...
在现代Web开发中,用户体验是至关重要的,Ajax(异步JavaScript和XML)技术的使用极大地提升了网页的交互性和响应速度。Ajax进度条是Ajax请求过程中显示加载状态的一种可视化方式,它能够提供用户友好的反馈,让用户...
AJAX(Asynchronous JavaScript and XML)技术能够帮助我们实现这种效果,让用户无需刷新整个页面就能实时更新地图区域。本文将详细介绍如何利用AJAX来实现类似Google地图的地图拖动功能。 首先,我们需要理解AJAX...
本示例通过AJAX技术实现了这种功能,并结合了简单的JS和CSS设计,为用户提供实时更新的数据展示。以下是对这个项目的详细解析: 首先,我们要理解AJAX(Asynchronous JavaScript and XML)的核心概念。它允许我们在...
本篇文章将详细讲解如何利用Linq、jQuery和Ajax技术实现这种高效、轻量级的异步分页功能。 首先,Linq(Language Integrated Query,语言集成查询)是.NET Framework中的一种强大的查询工具,它为C#和VB.NET等编程...
**Ajax(Asynchronous JavaScript and XML)异步JavaScript与XML技术是Web开发领域中的一项核心技术,它使得网页可以实现部分刷新,无需重新加载整个页面就能获取并更新数据。这种技术极大地提升了用户体验,尤其在...
总结,这个jQuery+Ajax异步加载分页代码实现了动态加载数据,提高了用户体验,同时允许自定义分页设置,具有很好的灵活性和实用性。通过理解并实践这个示例,开发者可以更好地掌握Ajax和jQuery在实际项目中的应用。
在本示例中,我们需要实现一个功能:当用户在树形菜单中选择某一节点时,通过 AJAX 异步请求向后台添加新的子节点,并在前端动态显示出来。 首先,我们看到 HTML 结构中有一个 `#demo` ID 的 `ul` 元素,它是 layui...
总结来说,实现JSP页面列表的AJAX异步加载,主要包括以下几个步骤: 1. 创建JSP页面,定义基本的HTML结构。 2. 在服务端编写处理AJAX请求的逻辑,返回JSON数据。 3. 在客户端使用JavaScript(如jQuery)发送AJAX请求...
在客户端JavaScript中,接收到JSON响应后,可以使用诸如jQuery的`$.parseJSON()`或者原生的`JSON.parse()`函数将其转换回JavaScript对象,然后动态更新HTML元素,实现异步刷新效果。 总的来说,这个例子展示了如何...
**Ajax异步请求与用户体验** Ajax(Asynchronous JavaScript and XML)技术是Web开发中的一个重要工具,它使得网页可以在不刷新整个页面的情况下与服务器进行数据交互。这种技术在现代Web应用中广泛使用,因为它极...
在上面的代码中,我们可以看到使用 `XMLHttpRequest` 或 `fetch` API 实现Ajax异步请求的示例代码。 三、分页效果 分页效果是指在Web应用程序中实现分页功能的技术。通过使用分页效果,我们可以将大量数据分页显示...
【标题】"ajax实现的照相机效果"是一个利用JavaScript和Ajax技术来模拟真实照相机功能的应用。这个项目展示了如何在Web页面上实现一种交互式的、动态的拍摄体验,让用户能够实时预览、拍摄并保存图片。 【描述】"蛮...