Ajax技术种open参数中的true

2016-11-29 19:19:26来源:CSDN作者:dragonlkl人点击

第七城市

ajax是一种很常用的技术了 
做前端的是一定要知道的

open方法有三个参数,一开始使用ajax的时候我都没有注意到这个true 
因为觉得ajax本来就是异步的JavaScript,同步有嘛意思捏

后来实际做项目的时候用到了循环发送ajax请求 
就是在一个循环体种加入ajax请求的代码 
结果发现,并没有连续收到服务器的回应 
然后我就将ready status打印出来了,发现居然是1 
只有最后一次循环是4 
1表示什么?

附上readyState状态值意义: 
0:请求没有发出(在调用 open() 之前)。 
1:请求已经建立但还没有发出(调用 send() 之前)。 
2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。 
3:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。 
4:响应已完成,可以访问服务器响应并使用它。

可见我的请求已经发送过去了,但是服务器也建立了连接了,但是还没有回应我,又一个请求发过来了 
这就是ajax的异步 =。= 
所以我把open种的TRUE改成了FALSE 
这样 我需要的数据就从服务器一次一次 循环着返回了

但是

恩这样ajax的优势就木有了啊 
所以我又想了个解决的办法: 
将需要发送过去的数据拼接成一个字符串,服务器收到字符串以后将字符串再分开处理,处理以后再拼接,再返回给前端,前端再分开处理

第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台