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+中的组件对于事务的请求。:)
无线网卡选购指南:哪些型号支持Kali Linux的监听模式?附免驱动网卡推荐 本文详细解析了如何在Kali Linux下选购支持监听模式的无线网卡。核心在于选择兼容的芯片组,如Atheros AR9271和Ralink RT3070等经典型号,并提供了免驱动网卡推荐与实战配置指南,帮助安全研究人员和爱好者快速搭建无线测试环境。 阅读详情

相关推荐

GT911触摸驱动避坑指南:从寄存器读取到多点触控处理的5个关键步骤详解

本文深入解析了GT911触摸驱动开发中的关键步骤与常见问题。从硬件初始化、I2C通信建立,到核心寄存器操作、缓冲区状态管理,再到配置表烧录与多点触控数据解析,提供了详尽的避坑指南。文章结合STM32等平台的实战代码,重点阐述了驱动调试中的时序、中断处理和坐标映射等核心要点,帮助开发者高效实现稳定可靠的多点触控功能。

weixin_29189363的博客 676

AJAX——异步处理技术

AJAX学习笔记

LJW123487的博客 1251

ENVI5.6 Seamless Mosaic多景影像镶嵌色差问题

多景影像无缝镶嵌色差问题拟解决方法

Matchaya的博客 7705

ajax交互模型,同步异步的区别

ajax交互模型: 1.用户发出异步请求 2.利用onReadyStateChange监听 3.创建请求,用open方法指定是 get 还是 post,是否异步,url地址 4.发送请求,send方法 5.接受结果并分析 6.实现刷新 同步异步区别:   同步:脚本会停留并等待服务器发送回复然后再继续   异步:脚本允许页面...

weixin_30576859的博客 122

ur3手眼标定+realsenseL515

知乎 csdn

AI_future的博客 978

Versal - 从零构建Petalinux 2024.2 AI边缘计算平台(VD100+SDT+JupyterLab实战)

本文详细介绍了如何从零开始,基于AMD Versal VD100开发板和Petalinux 2024.2构建AI边缘计算平台。内容涵盖开发环境搭建、Petalinux工程创建与配置、SDT新流程实战、启动SD卡制作,并最终集成JupyterLab与Conda,打造出开箱即用的交互式AI开发环境,帮助开发者快速进行算法验证与部署。

5f4d3s2a1q的博客 490

Ajax——优缺点、交互模型、跨域问题以及对同步异步的区分

一、Ajax优缺点 优点: 1、最大的一点是页面无刷新,用户的体验非常好。 2、使用异步方式与服务器通信,具有更加迅速的响应能力。 3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负

叶叶茵的博客 4817

AI原生SaaS应用的自动化运维体系构建

随着ChatGPT掀起的AI原生应用浪潮,越来越多SaaS(软件即服务)产品开始以"AI优先"的方式设计——从用户交互到核心功能,都深度依赖机器学习模型(如推荐算法、智能客服)、实时数据流(如用户行为分析)和弹性算力(如大模型推理)。这类应用的运维需求与传统SaaS完全不同:传统运维像"修水管",哪里漏了补哪里;AI原生运维则像"照顾会成长的宠物",需要实时感知模型状态、数据变化和流量波动,主动调整资源。

AI天才研究院 1080

ajax异步请求模式

什么是异步请求 我们知道,在同步请求模型中,浏览器是直接向服务器发送请求,并直接接收、处理服务器响应的数据的。这就导致了浏览器发送完一个请求后,就只能干等着服务器那边处理请求,响应请求,在这期间其它事情都做不了。这就像是你到了一个新城市去找房子住,你可以自己去找,在网站上或者是街头小广告上去了解房源信息,找合适自己的那一个,然后去跟房东谈价钱。在这期间你的精力和时间大部分都用到了找房子上,你可能没...

weixin_30273175的博客 184

基于Playwright与反反爬技术的BOSS直聘数据爬取实战

本文将详细介绍如何使用Python最新技术栈(Playwright+Asyncio)构建一个高效、稳定的BOSS直聘数据爬虫系统。文章包含完整的技术选型分析、反爬机制破解方案、分布式爬虫架构设计以及数据处理存储方案,提供可直接运行的代码示例,并探讨爬虫开发中的法律与伦理问题。

2201_76125261的博客 1467

MounRiver Studio(MRS)使用技巧:添加头文件目录;增加代码分组

MounRiver Studio(MRS)使用技巧:添加头文件目录

cheng___yi的博客 1810

ajax异步在页面造成的问题

ajax的异步可能会导致之前获取的数据,后面获取不到,原因是ajax还在加载。此时分两个函数分别设置延时调用,或者用同步 function detail(id) { //获取数 alert(id); var datag; var ui=''; var urll =ui+id; $.ajax({ type:'get', url:urll, ...

yuhui666666的博客 729

自动驾驶系统研发系列—全智能驾驶新高度:深入解析车道保持辅助(ELK)功能

车道保持辅助系统(ELK)是一种基于先进视觉感知技术的主动安全系统,能够通过车载摄像头实时监测道路上的车道线、道路边缘以及周围车辆的位置。这一功能的核心在于为驾驶员提供智能化的安全辅助,尤其是在驾驶员可能因疲劳、分心或其他原因无意识地偏离车道时,系统能够主动干预,从而避免危险发生。ELK系统不仅仅依靠摄像头对道路进行感知,还结合其他传感器的数据(如雷达),实时评估自车与车道线、周边车辆的相对位置。当系统检测到车辆即将偏离车道,或越过道路边缘时,ELK会通过控制电子助力转向系统(EPS)

u013889591的专栏 1211

Ajax异步请求

Ajax是一个异步请求,可以不用刷新整个页面,就可以达到局部更新的效果。百度的搜索也用到了ajax这个技术,当我们每次输入一个关键字的时候,搜索栏下面也会跟着改变,但是这个改变并不会刷新整个页面。想必大家也很好奇什么是异步请求,什么是同步请求,那么接下来就有我来进行揭秘吧。

m0_48844699的博客 4463

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ajax同步异步问题,ajax请求的同步异步问题

前言在做项目的过程中遇到一个bug就是:使用了alert语句后,代码才能正确执行,没使用就执行不成功。后来我就用把console.log,代码就不能正确执行。于是我就去比较了下consol.log和alert有什么不同console.log与alert的不同[1]alert()[1.1]有阻塞作用,不点击确定,后续代码无法继续执行[1.2]alert()只能输出string,如果alert输出的是...

weixin_42098251的博客 740

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Ajax 揭秘:异步 Web 交互的艺术

正常我们进行登录的时候 , 就会遇到两种情况同步 : 登录失败网页会立即刷新 , 之前输入过的内容就消失不见了异步 : 当用户输入错误的账号密码 , 页面不会刷新 , 只是在某个局部位置提示用户那 Ajax 全称Asynchronous JavaScript and XML , 指的是异步的 JavaScript 和 XML .例如我们向后台发送请求 , 同步的方式是后台必须返回响应数据才可以在浏览器上进行下一步操作 . 而异步则不需要等待后台服务器返回响应数据 , 各个模块执行各个模块的工作 .

m0_53117341的博客 1898

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

关于ajax的异步同步问题

关于ajax的异步同步问题 之前一直对于ajax同步和异步不是很理解,直到在实践中遇到问题才明白这是怎么一回事。那么就根据这个实际的问题来说说自己对ajax异步与同步的理解。 问题的起因是这样的,在做一个项目当中有这样一个需求:网站上的一些链接有内外网显示权限,有些链接当用内网访问时可以点开查看,用外网点开弹出提示说:ip限制。然后取消默认的链接跳转行为。 我的解决思路就是给a标签统

lavender21的博客 645

ajax什么是异步和同步,ajax异步和同步的区别

AJAX异步打个比方吧,通常情况下,用户注册,那么用户首先得填写好表单,然后点提交,这样表单就会向服务发出一个请求,则服务器处理代码,如果用户存在,则返回一个信息。总之,就是所有的数据需要你点提交后,信息才会发送!而AJAX就相当于是模拟了一个信息发送请求,你可以在很多网站上注册的时候会发现,比如用户名输入“123”,那么它可能会提示你该用户已经存在,而给你的感觉是页面并没刷新,也就是并没有提交表...

weixin_29927965的博客 5661

ajax异步请求原理

1.什么是AJAX? AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。它使用: 使用XHTML+CSS来标准化呈现; 使用XML和XSLT进行数据交换及相关操作; 使用XMLHttpRequest对象与Web服务器进行异步数据通信; 使用Javascript操作Document Object Model进行动态显示及交互; 使用JavaScript绑定和处理所有数据。 2.AJAX的工作原理 Aja

awei19950103的博客 2291

jq ajax同步异步,详解JQuery中Ajax的同步与异步

说到ajax同步与异步,可能很多同学对它都不是很了解,接下来我们就Ajax的同步与异步作个简单的介绍。同步:提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干任何事。异步:请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕。下面我们来做一个简单的比喻 ——1、一心一意:当前只能做一件事,其他事情必须等当前的事情完成,才能继续后面的事...

weixin_39729840的博客 3645

Ajax 异步交互

基本概述 同步交互 类似于排队 就是指发送一个请求,需要等待返回,然后才能够发送下一个请求 异步交互 异步交互的区别在于同步交互需要等待结果,而异步交互不需要等待。 所谓异步交互,就是指发送一个请求,不需要等待返回,随时可以再发送下一个请求。 同步交互与异步交互区别在于:同步需要等待结果,而异步不需要等待结果 异步交互的优势 异步交互相比同步交互的优势主要具有以下几点: 1、用户操作无须像同步交互必须等待结果。 2、异步交互对带宽造成的压力相比同步交互更小。 3、异步交互只需与服务器端交换.

Jine 2948

多个ajax请求的同步异步问题分析

【前言】  最近做番茄的项目,在一个ajax执行前,需要判断另一个ajax的执行情况,如果第一个执行成功,让第二个执行。当时运行的时候发现,这2个ajax,同时执行。这就不能满足我的需求了,于是了解了一下ajax的同步异步问题,顺利解决了我的疑惑【分析同步、异步】同步:当请求发出后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才执行后续的代码。  生活中例子:比如你烤面包,把面包放进烤箱里...

千千 2282

Ajax 是什么?Ajax 的交互模型?同步和异步的区别?如何解决跨域问题?

ajax AJAX 的全称是异步的 Javascript 和 XML ,是一种创建快速动态的技术,通过在后台与服务器进行少量数据交互,实现网页的异步更新,在不重新加载整个界面的情况下,做到网页的部分刷新; AJAX 的交互模型( AJAX 的过程) 用户发出异步请求; 创建 XMLHttpRequest 对象; 告诉 XMLHttpRequest 对象哪个函数会处理 XMLHttpReque...

M106588L的博客 555

【AJAX入门】--异步JavaScript

时代在进步我们也要跟着往前跑啊,以前的文章大部分都是在论述C/S很重要,而且对于程序员来说C/S是基础,但是在如今信息革命时代,网络大行其道只懂C/S是远远不够的,还要精通B/S,接下来的文章就要开始论述B/S技术了。那就从AJAX开始

航帆远洋 3911

ajax的同步和异步问题

经常说ajax是异步执行的技术,但是今天才知道异步和同步的区别。理解很深刻,来源于最近来的一个小项目。 var flag=0; var i=0; var title; $.ajax({ url: "showNewsAction.action", type:'jsonp', async: false, succe

April 2万+

ExtJS4 ajax请求同步异步问题

今天在写代码过程中遇到一个奇怪的问题,事情是这样的,我写了一个简单的页面用来删除选中的用户,请看下面: 因为后台的servlet的代码实现了根据用户名来删除一条记录,所以我在前台的ExtJS代码里面用了循环: function deleteUsers(userList) {//删除用户 var msgTip = Ext.MessageBox.show({//显示正常删除的信息提示框

hu8471479的专栏 4306
上一篇: 可执行文件格式详述,ABI和loader……
下一篇: 软件开发行业技术问题思考
lifeNet
博客等级 码龄20年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值