Ajax同步异步问题

之前使用ajax,都没有太过注意他的同步异步问题,今天遇到了。在这里记录下,特别关注下async这个属性,ajax默认为异步传输机制,也就是默认async为ture,但是在有些场景下面需要同步传输机制,也就是需要将async改为false。例如:在前台数据提交的时候需要一个重要的数据,这个数据安全性要求比较高,不能够加载在js中显示给用户看到,需要在特定的场景的时候去后台读取,若是用异步传输,则取得后台的数据,有可能ajax都还没与返回,程序都执行完成,也就是说所取得的数据此刻已经没有意义。那么我们需要怎样来避免这样的问题呢?很显然,我们在ajax去后台取数据的时候,需要让程序停下来,等待ajax返回,这就是典型的同步机制。

关于同步和异步:异步是指,我需要什么数据,我告诉程序过后,我就走了,再等待程序返回给我数据,也就是说,在接下来的程序执行中,我不在乎程序返回给我的数据是不是我想要的,是不是合法的,甚至不在乎程序响不响应我的请求。而同步则是指,当我请求特定数据过后,我会等待程序返回,确保程序取得的是我需要的合法有用的数据。我甚至会关心程序走到了哪一步,执行了哪些内容,发生了哪些错误。等等。

以前,总是听老师枯燥的唠叨同步异步,今天终于自己有深刻的体会了。特此记录。

相关推荐