何时使用AJAX异步或同步?
标准web应用程序同步处理web访问者和服务器之间的交互。这意味着一件事接着另一件事发生;服务器不执行多任务。如果单击按钮,消息将发送到服务器,并返回响应。在接收到响应并更新页面之前,不能与任何其他页面元素交互。
显然,这种延迟会对web访问者的体验产生负面影响——因此,AJAX就是这样。
AJAX是什么?
AJAX不是一种编程语言,而是一种结合了与web服务器通信的客户端脚本(即在用户浏览器中运行的脚本)的技术。此外,它的名称有点误导人:虽然AJAX应用程序可能使用XML发送数据,但它也可以只使用纯文本或JSON文本。但通常,它使用浏览器中的XMLHttpRequest对象从服务器请求数据,并使用JavaScript显示数据。
AJAX:同步或异步
AJAX可以同步和异步访问服务器:
同步,其中脚本停止并等待服务器在继续之前发回一个响应。
异步方式,其中脚本允许继续处理页面,并在响应到达时处理响应。
同步处理请求类似于重新加载页面,但是只下载所请求的信息,而不是下载整个页面。因此,同步使用AJAX比完全不使用它要快得多——但它仍然要求访问者等待下载完成,然后才能继续与页面进行任何进一步的交互。大家知道他们有时需要等待页面加载,但大多数人不习惯在他们进入站点后继续显著延迟。
异步处理您的请求避免了从服务器检索时的延迟,因为您的访问者可以继续与web页面交互;请求的信息将在后台处理,响应将在页面到达时更新页面。此外,即使响应延迟(例如,在非常大的数据情况下),站点访问者也可能没有意识到这一点,因为他们在页面的其他地方被占用了。
因此,使用AJAX的首选方法是尽可能使用异步调用。这是AJAX中的默认设置。
为什么使用同步AJAX?
如果异步调用提供了这样一种改进的用户体验,那么为什么AJAX提供了一种进行同步调用的方法呢?
虽然异步调用在大多数情况下是最佳选择,但是在极少数情况下,在特定的服务器端流程完成之前,允许访问者继续与web页面交互是没有意义的。
在许多情况下,最好根本不使用AJAX,而是重新加载整个页面。AJAX中的同步选项适用于少数情况,在这种情况下,你不能使用异步调用,但是没有必要重新加载整个页面。例如,你可能需要处理一些事务,其中顺序很重要。考虑这样一种情况:web页面需要在用户单击某些内容后返回一个确认页面。这个任务需要同步请求。
相关推荐:《ajax教程》
以上就是何时使用AJAX异步或同步?的详细内容,更多请关注其它相关文章!
上一篇: ajax的工作原理是什么(附图解)
下一篇: JS二叉搜索树使用详解
推荐阅读
-
iOS中使用NSURLConnection处理HTTP同步与异步请求
-
iOS中使用NSURLConnection处理HTTP同步与异步请求
-
微信小程序中使用Async-await方法异步请求变为同步请求方法
-
PHP使用gearman进行异步的邮件或短信发送操作详解
-
ASP.NET WebAPi(selfhost)实现文件同步或异步上传
-
jquery ajax 同步异步的执行 return值不能取得的解决方案
-
决定何时使用 DataGrid、DataList 或 Repeater(ASP.NET 技术文章)
-
微信小程序中使用Async-await方法异步请求变为同步请求方法
-
关于Ajax的get与post浅分析,同步请求与异步请求;
-
jquery中的ajax同步和异步详解