Javascript 未调用onreadystatechange
我期待调用show_Message函数时出现一个警报框,但onreadystatechange不工作。其他警报框工作正常 这是我的js函数Javascript 未调用onreadystatechange,javascript,ajax,Javascript,Ajax,我期待调用show_Message函数时出现一个警报框,但onreadystatechange不工作。其他警报框工作正常 这是我的js函数 function send_Message(){ var msg=document.getElementById("msg").value; if(msg.length===0||msg===""){ alert("please enter some message"); return; } var sender=document.g
function send_Message(){
var msg=document.getElementById("msg").value;
if(msg.length===0||msg===""){
alert("please enter some message");
return;
}
var sender=document.getElementById("username").value;
var sendto=document.getElementById("chat_id").options[document.getElementById("chat_id").selectedIndex].value;
alert(sender+" "+sendto);
var xhttp=new XMLHttpRequest();
xhttp.onreadystatechange=function(){
alert('hello');
if(xhttp.readyState==4 && xhttp.status==200){
document.getElementById("chat_logs").innerHTML=xhttp.responseText;
}
xhttp.open('GET','send_messages.php?sender='+sender+'sendto='+sendto+'message='+msg,true);
xhttp.send(null);
}
}
xhttp.open('GET','send_messages.php?sender='+sender+'sendto='+sendto+'message='+msg,true);
xhttp.send(空)代码>
应在onreadystatechange的
改成
function send_Message(){
var msg=document.getElementById("msg").value;
if(msg.length===0||msg===""){
alert("please enter some message");
return;
}
var sender=document.getElementById("username").value;
var sendto=document.getElementById("chat_id").options[document.getElementById("chat_id").selectedIndex].value;
alert(sender+" "+sendto);
var xhttp=new XMLHttpRequest();
xhttp.onreadystatechange=function(){
alert('hello');
if(xhttp.readyState==4 && xhttp.status==200){
document.getElementById("chat_logs").innerHTML=xhttp.responseText;
}
}
xhttp.open('GET','send_messages.php?sender='+sender+'sendto='+sendto+'message='+msg,true);
xhttp.send(null);
}
这可能是因为您有打开并发送内部onstatechange
功能
function send_Message(){
var msg = document.getElementById("msg").value;
if( msg.length === 0 || msg === "" ){
alert("please enter some message");
return;
}
var sender=document.getElementById("username").value;
var sendto=document.getElementById("chat_id").options[document.getElementById("chat_id").selectedIndex].value;
alert(sender+" "+sendto);
var xhttp=new XMLHttpRequest();
xhttp.onreadystatechange=function(){
alert('hello');
if(xhttp.readyState==4 && xhttp.status==200){
document.getElementById("chat_logs").innerHTML=xhttp.responseText;
}
}
xhttp.open('GET','send_messages.php?sender='+sender+'sendto='+sendto+'message='+msg,true);
xhttp.send(null);
}
你犯了关门的错误。
xhttp.onreadystatechange=函数(){
上面的函数应该在执行if语句后关闭
检查下面的更正代码:
function send_Message(){
var msg=document.getElementById("msg").value;
if(msg.length===0||msg===""){
alert("please enter some message");
return;
}
var sender=document.getElementById("username").value;
var sendto=document.getElementById("chat_id").options[document.getElementById("chat_id").selectedIndex].value;
alert(sender+" "+sendto);
var xhttp=new XMLHttpRequest();
xhttp.onreadystatechange=function(){
alert('hello');
if(xhttp.readyState==4 && xhttp.status==200){
document.getElementById("chat_logs").innerHTML=xhttp.responseText;
}
};
xhttp.open('GET','send_messages.php?sender='+sender+'sendto='+sendto+'message='+msg,true);
xhttp.send(null);
}
您需要调用xhttp.open('GET','send_messages.php?sender='+sender+'sendto='+sendto+'message='+msg,true);xhttp.send(null);在您的onreadystatechange函数之外。您如何调用发送消息
函数?您需要打开并发送OnReadStateChange之外的内容谢谢!!我太傻了..修改了这么多次代码仍然没有收到。无论如何,谢谢大家