async : false,表示同步,同步会等待执行完成
一般来说ajax表示异步请求,最直接的是可以实现页面无刷新,异步有一个好处就是不必等待执行,可以先往下执行js,这样的好处在加载的时候无疑是可以避免数据请求的延迟
当然,在某些特殊的情况下也会要求ajax的数据与页面同步,限制先后顺序,比如需等待ajax执行完结果,后面的才能继续执行的时候就需要设置同步属性,true
之前就遇到过一个问题,就是在做ajax的请求的时候,定义了一个全局变量,在success里面的全局变量接受返回的值,然而经测试全局变量最后并没有成功的获取到值,准确的来说是在我需要用的时候值是undefined
原因在于即使使用了全局变量妄图在ajax的success函数里面被赋值,也获取不到,当当前的ajax表示异步的时候,会先执行下面的js代码,继而才是ajax的success回调成功
在面临这类似的问题时候就需要设置同步请求的,这样定义的全局变量能以成功的方式存到值并下后面使用!