`
fixopen
  • 浏览: 83895 次
文章分类
社区版块
存档分类
最新评论

Ajax的异步用户交互模型问题

阅读更多
Ajax是为了应对让人不耐的WebApp的高延迟而搞出来的一套技术框架。
原始的WebApp的Browser和Server是串行运行的,一边工作时,另一边等待。这浪费了整个系统的运算能力。Ajax在Browser端引入一个执行引擎,它一边应付user的请求,一边把某些必须交给服务器处理的东西背地里传送给服务器,同时背地里把结果准备好(接受服务器端的数据),展现给客户。
这极大地增强了WebApp的表现能力。对于大多数的用户交互都会比较自然的支持。
Ajax涉及到的几个技术焦点主要是Javascript(提供可响应的UI,在WebPage上提供交互特性)、XMLHttpRequest (HTTP收发引擎、不打扰用户界面的那种)、XML(用来封装B和S之间交互的数据)。这些技术都是常见的,标准的或者事实上的标准。

对于JS和XML,很多人都颇有微词,我倒是觉得无所谓。这些毕竟都不是影响整个架构的东西。

这里面唯一不太明朗的东西是:异步用户交互模型。我举个例子说明这个问题:

我正在操作Ajax增强的WebUI,我跟UI有个交互A,UI立即给了我一个响应,爽。我又有一个交互B,可是……可是这个需要Server参与才能完成,这时候差异就出现了,UI通过XMLHttpRequest背地里发送给Server,这时候UI怎么响应呢?是不是仍然容许我进行交互C,应该是容许的,毕竟引入Ajax就是这个目的。假设它容许我进行交互C,注意,这时候交互B仍然没有关闭,这意味着什么?这意味着有两个并行的交互。这时候,交互 B的真正响应(或者说最终响应)来了,我正在关注交互C,怎么办?打断交互C,切换到交互B?还是什么别的?更复杂的是,交互B最终宣告:交互C是不被允许的!这下可热闹了。是不是我们应该避免并行的交互?也就是交互B完成以前不允许启动一个新的交互C?

所以,引入Ajax以后本身不是问题,问题是我们怎么应对由此带来的UI交互方面的复杂性问题。至少到现在为止,我还没有想明白怎么办。

可能的想法是把交互分类,一类是请求串行的,一类是可以并行的。这类似于EJB或者COM+中的组件对于事务的请求。:)
分享到:
评论

相关推荐

    AJAX异步处理原理分析

    总结,AJAX异步处理是现代Web开发的重要技术,它使得网页更加动态和交互性强。通过理解其工作原理和应用场景,开发者可以有效地提升网站性能和用户体验。然而,同时要注意解决可能出现的问题,如跨域限制和SEO兼容性...

    一个实用了spring mvc和ajax异步请求的例子

    总结起来,这个"一个实用了spring mvc和ajax异步请求的例子"涵盖了Web开发中的重要概念,包括Spring MVC的Controller设计、RESTful API的实现以及Ajax的异步数据交互。这样的组合使得Web应用更加动态,用户体验更佳...

    AJAX异步通信技术学习笔记

    AJAX的工作原理在于它在用户和服务器之间添加了一个中间层,实现了用户请求与服务器响应之间的异步交互。具体来说,AJAX技术允许在不刷新整个网页的情况下获取或发送数据到服务器。这一特性使得AJAX成为了Web2.0时代...

    AJAX异步数据通讯机制在Web程序中的应用.pdf

    "AJAX异步数据通讯机制在Web程序中的应用" AJAX异步数据通讯机制是基于Web程序开发的新方法,它提供了一种...AJAX异步数据通讯机制可以提高Web应用程序的运行效率和用户交互性,但需要注意其中的局限性和安全性问题。

    spring3 mvc 用 jquery ajax 交互

    本文将深入探讨如何在Spring MVC框架中利用jQuery的AJAX功能进行前后端交互,提升用户体验。 首先,Spring MVC是Spring框架的一个模块,专为构建可维护、可扩展的Web应用而设计。它采用模型-视图-控制器(MVC)架构...

    spring mvc 和ajax异步交互完整实例代码

    在本文中,我们将深入探讨如何实现Spring MVC与Ajax的异步交互,并通过一个简单的实例来展示其实现过程。首先,我们需要了解Spring MVC和Ajax的基本概念。 Spring MVC是Spring框架的一部分,它是一个用于构建Web...

    springmvc+ajax异步上传 希望代码对大家有用

    通过上述步骤,我们可以构建一个完整的Spring MVC + Ajax异步文件上传系统。这种方式既实现了文件上传功能,又保持了页面的交互性,提高了用户体验。在实际项目中,还可以根据需要添加错误处理、进度条显示等功能,...

    ajax异步上传图片例子

    在现代Web应用中,异步数据传输已经成为一种标准实践,...以上就是Ajax异步上传图片的基本流程和关键知识点,实践中可能需要根据具体需求进行调整和优化。通过Ajax,我们可以构建出响应快速、用户体验优秀的Web应用。

    AJAX在Web中的异步交互应用.pdf

    AJAX(异步JavaScript和XML)是一种在Web应用程序中实现页面无刷新更新的技术,它可以极大地提高用户体验,因为它允许后台与服务器进行数据交互,而无需整个页面刷新。AJAX的核心是XMLHttpRequest对象,它使得...

    Ajax 异步请求-校验用户名唯一性

    这可以通过Ajax异步请求来实现,无需用户等待整个页面刷新,提供更好的用户体验。 以下是一般的步骤: 1. **前端视图(View)**:在HTML表单中,我们添加一个事件监听器,如`onkeyup`或`onblur`,当用户在用户名...

    springMVC jQuery ajax交互

    总结来说,SpringMVC与jQuery的Ajax交互使得Web应用能提供更加流畅、动态的用户体验。通过jQuery简化前端的Ajax调用,配合SpringMVC处理后端业务逻辑,我们可以构建出高效、响应式的Web应用。这种技术组合在现代Web...

    Ajax技术地图 ajax 简介,ajax 架构

    Ajax的核心在于利用JavaScript创建异步通信,提升了用户体验,减少了网络延迟。 在Ajax技术地图中,我们首先看到的是对已知技术范围的概述,包括三层架构(数据访问层、业务逻辑层、表现层)、B/S(Browser/Server...

    大量的ajax实例模型

    这种技术的核心在于利用JavaScript异步地与服务器进行交互,提高了用户体验,使得网页更加动态和响应迅速。在“大量的ajax实例模型”中,我们涵盖了多个方面的Ajax应用,包括但不限于以下几点: 1. **无刷新技术**...

    基于AJAX技术的Web模型在网站开发中的应用研究

    - **AJAX模型**:通过异步方式发送请求,服务器仅返回必要的数据,客户端利用JavaScript动态更新页面内容。 **2. 用户体验** - **传统Web模型**:用户需要等待整个页面重新加载,体验较差。 - **AJAX模型**:页面...

    SpringMVC+Ajax异步上传图片并显示(源码)

    总的来说,SpringMVC结合Ajax提供了一种强大的方式来实现异步图片上传功能,它可以大大提高Web应用的交互性和用户体验。在压缩包`spring_ajax_photo`中,可能包含了实现这一功能的完整源代码,包括前端HTML、CSS、...

    Js和ajax进行交互

    JavaScript(Js)与Ajax(异步JavaScript和XML)的交互是Web开发中的核心技术,它使得网页无需刷新就能实现与服务器的数据交换,极大地提升了用户体验。本文将深入探讨Js与Ajax的交互原理、应用场景以及实现方法。 ...

    springmvc异步ajax请求

    总之,Spring MVC中的异步Ajax请求是现代Web应用的重要组成部分,它提高了用户界面的交互性和性能。理解如何有效地集成Ajax和Spring MVC,可以提升应用程序的用户体验和效率。在实际开发中,结合合适的前端库和良好...

    利用Linq + Ajax 异步分页实现单个删除,批量删除

    总的来说,这个项目提供了一个实用的示例,展示了如何利用Linq进行数据操作,结合Ajax实现异步交互,以及如何设计用户友好的批量和单个删除功能。对于想要提升.NET Web开发技能的开发者来说,这是一个很好的学习资源...

Global site tag (gtag.js) - Google Analytics