最近实习的时候看到过firefox的同步、异步的警告,想着概念不是那么清楚,于是整理了一下ajax同步异步方面的知识。我是小白,做个笔记。

首先就是概念问题,ajax根据async进行区分同步和异步过程,当async=true异步,async=false为同步,ajax默认async为异步。W3C推荐使用异步方法。

那么这两种情况分别在那种情况下使用呢?我自己的理解是这样的:

异步:ajax不会影响整个页面的加载,相当于和浏览器加载或者用户操作分开走,互不相干,体现在用户角度就是不会有什么卡顿的感觉仿佛无事发生。

同步:那就与异步相反,他和加载处于同一条线上,等这位大爷过了马路,后面的人才能接着走,就是在加载它的时候,全部的过程都等停下来,也就是假死状态。

也就是说在实际应用中,异步是比同步用的多很多,那么同步用到的情况是什么呢? 在我的理解上来说,同步是能避免很多意想不到的情况的,也就是解决那些想不通的错误。

console.log(1);  $.ajax({          url: '',          async: false,          success: function() {                  console.log(2);          }  });  console.log(3);
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作

来看一个典型的同步代码

console.log(1);
$.ajax({          url: '',dataType:"json",        async: false,          success: function() {                  console.log(2);          }  });
console.log(3);//输出1 2 3

同步就是下了死命令要按顺序来,就是上面那样的输出顺序,当然这只是在json格式下的,换成jsonp它就会输出1 3 2了,具体是因为jsonp自身只有异步的模式。

异步就不一样了,它有可能发生跳跃的情况,也就是说在发送ajax的之后,服务器会有一个响应的时间,然而就是这段时间内如果异步请求交给一个js函数去处理,一个有可能发生的情况就是:“人未至,声先到”,也就是异步请求没到达,已经结束了js函数了。这时候就会发生很多难以考虑到的问题,明明ajax传输正常,值却是错误的。

这些都是我自己的理解,水平有限可能有说的不对的地方。

AJAX中根据async的值不同分为同步(async = false)和异步(async = true)两种执行方式;在W3C的教程中推荐使用异步执行。
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
AJAX中根据async的值不同分为同步(async = false)和异步(async = true)两种执行方式;在W3C的教程中推荐使用异步执行。
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
AJAX中根据async的值不同分为同步(async = false)和异步(async = true)两种执行方式;在W3C的教程中推荐使用异步执行。
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作

AJAX中根据async的值不同分为同步(async = false)和异步(async = true)两种执行方式;在W3C的教程中推荐使用异步执行。
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作

AJAX中根据async的值不同分为同步(async = false)和异步(async = true)两种执行方式;在W3C的教程中推荐使用异步执行。
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
AJAX中根据async的值不同分为同步(async = false)和异步(async = true)两种执行方式;在W3C的教程中推荐使用异步执行。
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
AJAX中根据async的值不同分为同步(async = false)和异步(async = true)两种执行方式;在W3C的教程中推荐使用异步执行。
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
AJAX中根据async的值不同分为同步(async = false)和异步(async = true)两种执行方式;在W3C的教程中推荐使用异步执行。
作者:闰土大叔
链接:http://www.imooc.com/article/44008
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作

转载于:https://www.cnblogs.com/luza/p/9581500.html

浅谈ajax同步、异步的问题相关推荐

  1. ajax感受,有什么缺点,浅谈ajax的优点与缺点

    AJAX (Asynchronous Javascript and XML) 是一种交互式动态web应用开发技术,该技术能提供富用户体验. 完全的AJAX应用给人以桌面应用的感觉.正如其他任何技术,A ...

  2. java socket 异步回调函数_浅谈socket同步和异步、阻塞和非阻塞、I/O模型

    原标题:浅谈socket同步和异步.阻塞和非阻塞.I/O模型 在进行网络编程时,常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式 同步/异步主要针 ...

  3. js 单页面ajax缓存策略,浅谈ajax的缓存机制---IE浏览器方面

    这篇文章主要介绍了IE浏览器关于ajax的缓存机制,文中给大家提到了Ajax解决浏览器的缓存问题,解决方法有很多种.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. IE浏览器对于同一 ...

  4. jquery ajax和servlet,浅谈ajax在jquery中的请求和servlet中的响应

    在jsp中,首先,你需要导入jquery的架包: 获取可返回站点的根路径: String path = request.getContextPath(); %> 在jquery中写ajax请求: ...

  5. ajax机制 缓存,浅谈Ajax的缓存机制

    浅谈Ajax的缓存机制 Ajax的缓存机制和浏览器处理资源时的缓存机制是一样的. 三条简单规则: 只要是URL相同的GET请求,浏览器会使用缓存(当然还要看服务器的Cache-Control/Expi ...

  6. ajax同步异步的区别

    ajax同步异步的区别 一.什么是ajax? Ajax是(Asynchronous JavaScript And XML)是异步的JavaScript和xml.也就是异步请求更新技术.Ajax是一种对 ...

  7. 从中国电信和中国移动的套餐使用查询业务浅谈数据同步

    6月的最后一天,想查查自己的套餐使用情况,于是发短信给电信客服,得到的回复是这样:"尊敬的用户您好!每月1-2号全天.3号的0点至8点及月末最后一天为系统出账期,可能无法查询您的消费情况,敬 ...

  8. 浅谈ajax中get与post的区别,以及ajax中的乱码问题的解决方法

    一.谈Ajax的Get和Post的区别 Get方式: 用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及 ...

  9. 浅谈AJAX并实现使用pagehelper-5.1.10.jar分页插件实现异步从数据库中获取数据分页显示

    AJAX异步请求 什么是ajax 异步 JavaScript 同步和异步的区别 同步方式:正常情况下,浏览器与服务器之间是串行操作,类似于一个Java线程的操作. 异步方式:浏览器与服务器是并行操作, ...

  10. 浅谈ajax使用方法

    众所周知,代码都是从上而下依次同步运行,同步的代码里面无法拿到异步的执行结果. Ajax概念 Ajax就是通过在后台与服务器进行少量数据交换,可以使网页实现异步更新的技术.这意味着可以在不重新加载整个 ...

最新文章

  1. 用Spring Cloud和异步微服务进行无服务器计算
  2. 记录EasyUI使用中的问题和解决的方法
  3. Jmeter(七)-参数化
  4. 第一次接触 SharpHsql(纯C#开源数据库引擎)
  5. tessorflow实战
  6. 人体姿态估计论文总结 (2D + 视频)
  7. 如何使用 C# 中的 HashSet
  8. 【转】extern “C“和__declspec(dllexport)以及__declspec(dllimport) 和def的简单解析
  9. 使用 ref 对已渲染到页面的节点进行标记
  10. android 05 桢布局:FrameLayout 网格布据 GridLayout
  11. C语言实现MATLAB 6.5中M文件的方法
  12. Netfilter分析
  13. SAP License:利用MM的预留功能进行生产控制
  14. 【2018宁夏邀请赛 L】Continuous Intervals【线段树】
  15. 深析在线教育下半场机遇逻辑 掌门教育论道蓝鲸教育大会
  16. 微信公众平台素材编辑与自动回复图文教程
  17. 联想小新air pro 13的 win10和ubuntu17.10双系统安装,彻底解决找不到磁盘问题。
  18. 液晶电子手写板,达威尔儿童涂鸦画板手写板,写字板手绘板绘画板
  19. Android自学笔记:Tab控件源码剖析
  20. 系统启动故障恢复控制台应用实例

热门文章

  1. java实现蒙特卡洛树搜索_面试必会:java实现 BST 二叉查询树详解
  2. 已知p是一个指向类a的数据成员m的指针_C++ this指针的理解和作用
  3. ES6学习笔记五(对象)
  4. C#遍历类的所有属性,遍历list集合的所有属性
  5. PHP exit()与die()的区别
  6. PAT (Advanced Level) Practice 1001 A+B Format (20分)
  7. 程序包androidx.support.annotation不存在/import androidx.v7.app.AppCompatActivity;报错
  8. SVN的代码回滚,并不如预期的那样好
  9. 错误:has been compiled by a more recent version of the Java Runtime (class file version 56.0)
  10. 本博客排名从37533到984的各种数据记录