gpt4 book ai didi

javascript - XMLHttpRequest、readyState 问题

转载 作者:行者123 更新时间:2023-11-30 19:20:49 27 4
gpt4 key购买 nike

在网页中,我正在使用 XMLHttpRequest。我遇到了麻烦,因为事情不会像往常一样发生。

相关代码如下:

  let xmlHttp = new XMLHttpRequest(); 
xmlHttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// Here useful work is done.
.......
}
}

xmlHttp.open("GET","readUser.php?EL="+user.email,true);
xmlHttp.send();

但最近由于某种原因,这种情况正在发生:

this.status == 200 (as expected)

但是:

this.readyState == 3 (and not 4 as usual)

结果,“有用的工作”没有完成。

如何让“this.readyState”回到 4?

或者我怎样才能找到为什么“this.readyState”不是它应该的 4?

我使用 XMLHttpRequest 的经验相当有限,所以当出现像这里这样的问题时,我有点不知所措。除了我在旁边(独立地)运行“readUser.php?EL=somemail@example.com”之外。没有问题,我也没有发现任何问题。

我已经尝试使用 Firefox、Chrome 和 Safari,得到相同的行为;所以我认为这不是浏览器相关的问题。

++++++作为引用,readUser是一个PHP页面,这里是readUser.php中的相关代码

<?php
....
ConnectToDB();

$query = 'SELECT * FROM MyDBTable';
$query .= sprintf(" WHERE MlAdr='%s'",$_GET['EL']);
$DBS=$Connection->query($query);
$DBS->setFetchMode(PDO::FETCH_ASSOC);
$dataJSON = json_encode($DBS->fetch());
echo $dataJSON;
?>

最佳答案

代替 xmlHttp.onreadystatechange 使用

xmlHttp.onload = function() {
if (this.status == 200) {
// Here useful work is done.
.......
}
}

xhr (XMLHttpRequest) 方法很老 - 考虑使用更现代的方法:fetch .

关于javascript - XMLHttpRequest、readyState 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57505295/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com