Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onreadystatechange和onload之间的差异_Javascript_Xmlhttprequest - Fatal编程技术网

Javascript onreadystatechange和onload之间的差异

Javascript onreadystatechange和onload之间的差异,javascript,xmlhttprequest,Javascript,Xmlhttprequest,我测试了两种行为XHR: 一, 二, 而且没有意识到任何区别。谁能给我指一下吗?还是真的没有人?每次更改时都会触发一个readystatechange事件(这是几次) 只有当请求成功完成时,load事件才会触发 在您的示例中,您向readystatechange处理程序添加了一些额外的测试,以测试它是否已达到最终状态(4(除非存在某种类型的错误,在这种情况下,它将是0),并确保它不是500错误。还有其他错误不会触发load事件 readystatechange事件在每次更改时触发(这是多次) 只

我测试了两种行为
XHR

一,

二,


而且没有意识到任何区别。谁能给我指一下吗?还是真的没有人?

每次更改时都会触发一个
readystatechange
事件(这是几次)

只有当请求成功完成时,
load
事件才会触发


在您的示例中,您向
readystatechange
处理程序添加了一些额外的测试,以测试它是否已达到最终状态(
4
(除非存在某种类型的错误,在这种情况下,它将是
0
),并确保它不是
500
错误。还有其他错误不会触发
load
事件

readystatechange
事件在每次更改时触发(这是多次)

只有当请求成功完成时,
load
事件才会触发


在您的示例中,您向
readystatechange
处理程序添加了一些额外的测试,以测试它是否已达到最终状态(
4
(除非存在某种类型的错误,在这种情况下,它将是
0
),并确保它不是
500
错误。还有其他错误不会触发
load
事件

这是否意味着
xhr.onLoad
的结果始终是数据,而
readystatechange
的结果可能是数据、未定义和0?否。您将
readyState
responseText
混淆。这是否意味着
xhr.onLoad
的结果始终是数据,虽然
readystatechange
的结果可能是、数据、未定义和0?否。您将
readyState
responseText
混淆。这是否回答了您的问题?这回答了你的问题吗?
xhr.onreadystatechange = function() {

            if (this.readyState == 4 && xhr.status !== 500) {

                function getElementByXpath(path) {
xhr.onload= function() {

                function getElementByXpath(path) {