ajax的多次请求问题
我们在用ajax请求数据时,可能会遇到一次点击多次触发的可能。(比如说:ajax 的 onreadystatechange 事件就会触发多次;这是因为 onreadystatechange 是一个事件句柄。它的值 (state_Change) 是一个函数的名称,当 XMLHttpRequest 对象的状态发生改变时,会触发此函数。状态从 0 (uninitialized) 到 4 (complete) 进行变化。仅在状态为 4 时,我们才执行代码。” 每次XMLHttpRequest 对象的状态发生改变时,会触发此函数。一共会触发 4 次,从 0 到 4。)【PS:当然这里引用的例子不完全符合工作时遇到的问题】此时,我们需要一个可以来终止程序的方法。exit 和abort 都是用来终止程序的函数,下面我们来讲一下这两者的不同之处。
exit会做一些释放工作:释放所有的静态的全局的对象,缓存,关掉所有的I/O通道,然后终止程序。如果有函数通过atexit来注册,还会调用注册的函数。不过,如果atexit函数扔出异常的话,就会直接调用terminate。
abort:立刻terminate程序,没有任何清理工作。