js中的定义的XMLHttpRequest对象的onreadystatechange函数放在其send函数后面为什么不会执行其回调函数
自己在写项目的时候遇到了onreadtstatechange函数放在send函数的后面导致不执行的情况,在网上搜了一下,发现都说的不是很详细,就自己分析了一下并发现了问题所在,写个博客总结一下
首先我们对于onreadystatechange函数要明白以下几点
- onreadystatechange函数是XMLHttpRequest实例本身就具有的一个属性函数
- onreadystatechange函数的通过XMLHttpRequest实例上的readyState的改变而触发的
- 如果你在onreadystatechange里面添加回调函数前 XMLHttpRequest实例上的readyState已经变成了4, 即着onreadystatechange函数不会再被触发,那意味着你修改onreadystatechange函数是没有意义(因为该函数不会再被触发)
现在再来看一下为什么将onreadystatechange函数放在send函数后面不会被触发
xhr.onreadystatechange =