当前位置:首页>开发>正文

AJAX中的请求方式以及同步异步的区别 ajax 同步和异步的区别

2023-06-26 21:24:58 互联网 未知 开发

 AJAX中的请求方式以及同步异步的区别 ajax 同步和异步的区别

AJAX中的请求方式以及同步异步的区别

AJAX中的请求方式以及同步异步的区别请求方式,分为GET与POST:

GET

最为常见的HTTP请求,普通上网浏览页面就是GET。GET方式的参数请求直接跟在URL后,以问号开始。(JS中用window.location.search获得)。参数可以用encodeURIComponent进行编码,使用方式:

var EnParam = encodeURIComponent(param)

URL只支持大约2K的长度,即2048字符数;使用GET进行AJAX请求时候会缓存导致出现的页面不是正确的,一般方法加random参数值;ajax.send(null)。

POST

向服务器提交数据用到。

需要将form表单中的值先取出转换成字符串,用&符号连接,(同GET传参数一样);提交数据量2GB ;使用ajax.setRequestHeader(Content-Type, application/x-www-form-urlencoded),处理提交的字符串ajax.send(strings),这个strings表示form中需要提交的内容,例如a=1&b=2类似这样的字符串。

同步与异步:

举个例子:普通B/S模式(同步)AJAX技术(异步)
同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕

ajax.open方法中,第3个参数是设同步或者异步。prototype等js类库一般都默认为异步,即设为true。先说下同步的情况下,js会等待请求返回,获取status。不需要onreadystatechange事件处理函数。而异步则需要onreadystatechange事件处理,且值为4再正确处理下面的内容。

//同步传输模式

ajax 同步和异步的区别

AJAX异步和同步区别

  AJAX
  1、AJAX(Asynchronous JavaScript And XML)
  主要由javascript和xml两种技术以一种新的方式组合成一门客户端技术.
  AJAX:DHTML XMLHttpRequest(可用于发送异步请求)
  DWR:ajax框架
  AJAX:Asychronized JavaScript XML的缩写
  AJAX是一种客户端技术,可以和J2ee、.Net等服务器端技术进行交互。
  AJAX并不是一门新的技术,它是有很多已有的技术按一定的方式组合起来的:
  1)HTML,CSS实现标准的显示
  2)DOM(Document Object Module)实现动态交互
  3)XML,XSLT实现数据获取
  4)XMLHttpRequest发送异步请求,获取异步数据
  5)JavaScript将各种技术粘合起来
  2、同步请求应答通信模型详解
  传统web应用采用click-->wait-->refresh方式与用户交互.采用同步请求/响应的交互模式页面驱动,
  以页面为中心,即使请求前后的两个页面非常类似,服务器也要重新发送.
  browse-->request-->server-->response
  会打断用户的操作,因客户端每次操作后都要等待服务器的响应.刷新页面会丢失用户信息,光标位置不
  能对用户的请求做出立即的响应.由于HTML的限制,很多特殊效果很难实现.
  富客户端的应用:
  Applet,Macromedia Flash,Java WebStart,DHtml,DHtml with Hidden IFrame,AJAX
  3、使用目的
  解决了同 步请求应答通信模型 ( request/response 通 信模型 ) 的一些缺点:
  1) 页面先前的内容丢失
  2) 用户的下一步操作被中断
  3) 页面信息进行局部更新时,整个页面要全部刷新.

深刻理解ajax中同步和异步的区别和使用场景

你应该知道同步和异步的区别在于线程是否堵塞还有延迟问题,其实我在开发中也遇到过,同步和异步获取返回赋值问题。
如果你是异步返回在赋值变量你会发现是undefined,这时候如果这时候你要看你请求的数量,如果超过5个还是执行异步吧,否则线程堵塞会影响客户体验。
同步的好处是能随时获取返回并赋值。

Ajax异步处理的原理


所谓的异步其实是相对于同步来说的.

在同步打开浏览器的时候,一切数据都是同时请求服务器,由浏览器负责提起请求,然后负责解析返回数据.

而ajax是利用浏览器内置的xmlhttp组件,这个组件就是用于在不刷新当前页面的情况下,可以使用javascript来进行http请求的.

这样就做到了,不用刷新当前页面,就可以进行数据交换了!

ajax同步模式和异步模式的区别

同步是阻塞模式,异步是非阻塞模式。
同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;
异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。

最新文章