Ajax技术种open参数中的true

来源:互联网 发布:知峰竹纤维缩水吗 编辑:程序博客网 时间:2024/06/11 11:40

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

0 0
原创粉丝点击