Javascript xmlhttp随机发送空白请求
我正试图了解我的代码到底发生了什么。我有一个xmlhttp请求将数据发布到我的sendmail.php脚本,然后该脚本会处理数据一段时间Javascript xmlhttp随机发送空白请求,javascript,php,ajax,Javascript,Php,Ajax,我正试图了解我的代码到底发生了什么。我有一个xmlhttp请求将数据发布到我的sendmail.php脚本,然后该脚本会处理数据一段时间 但是在PHP处理的中间,大约有一分钟(但是它变化),一个空白请求被发送到脚本,这意味着我不能从原始帖子中得到响应。 我放了一个inprogress标志来阻止任何双重射击,但这并没有阻止问题。我不确定什么会以随机间隔发送请求 function SendPHP(str, callback){ xmlhttp = new XMLHttpRequest();
但是在PHP处理的中间,大约有一分钟(但是它变化),一个空白请求被发送到脚本,这意味着我不能从原始帖子中得到响应。 我放了一个inprogress标志来阻止任何双重射击,但这并没有阻止问题。我不确定什么会以随机间隔发送请求
function SendPHP(str, callback){
xmlhttp = new XMLHttpRequest();
str = "q=" + encodeURIComponent(str);
xmlhttp.open("POST","sendmail.php", true);
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState == 4){
inProgress=false;
if(xmlhttp.status == 200){
callback(xmlhttp.responseText);
}
}
};
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
if (inProgress==false){
inProgress=true;
xmlhttp.send(str);
}
else{
writeDisplayConsole("ERROR: xmlhttp fired twice!");
}
}
除非您为了学习而开发自己的XMLHttpRequest库,否则您应该使用像jQuery这样的预构建库。AJAX有很多出乎意料的曲折。jQuery已经解决了所有这些问题。我不同意。互联网上关于ajax的99%都是jQuery解决方案,顺便说一句,在几乎所有情况下,jQuery解决方案几乎与vanilla js解决方案完全相同。别误会,我很欣赏jQuery。但是当没有人知道某些东西是如何工作的,也没有人关心的时候,在那一刻我诅咒jQuery并希望它永远不存在。