搜索框进行搜索的时候,可能会先请求的数据在页面上覆盖掉后请求的数据
,这就导致检索内容与当前检索关键字不一致
例如:发送3次请求,有可能第3条请求最先发送,第1条请求最晚发送。而返回时间却是反过来的:第一条最先返回结果;
- 异步请求返回顺序依赖网络,无法控制,所以每次
请求的时长不一致
,也就是不能保证请求返回顺序
。
解决方案:
-
有的人直接使用ajax的同步模式就好了,但这样做就失去了ajax的意义了,而且用户体验也不好。
-
在前端定义一个全局变量,记录请求次数的标识符,并把这个标识符带上传给后端,在ajax的回调中也返回过来,判断全局变量的值是否等于该标识符,如果等于就肯定是最后一次发起的请求,然后再渲染页面。
参考: