模仿韩顺平老师做的web聊天系统,大神帮忙看下出了啥问题 本帖最后由 alakey 于 2014-01-18 22:52:59 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没仔细看。单这一句: session_start();因其前面有html标签的输出,肯定会有“headers already sent”的错误提示的吧?你都没说你出什么问题了,让大家如何下手 function getMessage(){ //创建一个xmlHttpRequest对象 var myXmlHttpRequest=getXmlHttpObject(); if(myXmlHttpRequest){ var url="getMessageController.php"; var data="getter=<?php echo $loginuser; ?>&sender=<?php echo $username; ?>"; myXmlHttpRequest.open("post",url,true); myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); myXmlHttpRequest.onreadystatechange=function(){ if(myXmlHttpRequest.readyState==4){ if(myXmlHttpRequest.status==200){ //注释1 window.alert("aaa"); var mesRes=myXmlHttpRequest.responseXML; var cons=mesRes.getElementsByTagName("con"); var sendtimes=mesRes.getElementsByTagName("sendtime"); //注释2 window.alert("bbb"); if(cons.length!=0){ for(var i=0;i<cons.length;i++){ $("mycons").value+="<?php echo $username;?>说:"+cons[i].childNodes[0].nodeValue+"___"+sendtimes[i].childNodes[0].nodeValue; } } } } } myXmlHttpRequest.send(data); } } 主要就是回调函数出问题, 注释1处的能响应,但是注释2处的window.alert就无法响应。大神帮忙看下。 书写健壮的代码是很重要的....if(myXmlHttpRequest.status==200){ var mesRes=myXmlHttpRequest.responseXML; if(mesRes.xml == '') { //如果不是 xml 对象 alert(myXmlHttpRequest.responseText);//看一下究竟返回了什么 return; }.... 这个估计也就是个外表吧,性能比较差。聊天室,采用websockeet或comet,其次也不必用数据库,redis或文件存储即可 谢谢,已经解决了,怪我粗心了,原来是MessageService.class.php中,第二个header()的分号写成了冒号,晕死啊! header("Cache-Control:no-cache"):这种错误,提示应该很明显吧 调用数据失效 200分求助CURL设置HTTPHEADER上传文件问题! 请教一个html/php里this.value的问题 ajax检验验证码输入是否正确 这个正则表达式怎么写? 求助.如何用PHP实现一个类似于安装软件时"正在安装XX文件..." PHP 200人高级 交流群:85758199 已有150多会员 数量有限哦 关于PowerDesigner做数据库时的问题 php soap __call 问题 请问:PHP能不能读取EXCEL文件里的内容?? php的调试 php多条件叠加查询
因其前面有html标签的输出,肯定会有“headers already sent”的错误提示的吧?你都没说你出什么问题了,让大家如何下手
//创建一个xmlHttpRequest对象
var myXmlHttpRequest=getXmlHttpObject();
if(myXmlHttpRequest){
var url="getMessageController.php";
var data="getter=<?php echo $loginuser; ?>&sender=<?php echo $username; ?>";
myXmlHttpRequest.open("post",url,true);
myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
myXmlHttpRequest.onreadystatechange=function(){
if(myXmlHttpRequest.readyState==4){
if(myXmlHttpRequest.status==200){
//注释1 window.alert("aaa");
var mesRes=myXmlHttpRequest.responseXML;
var cons=mesRes.getElementsByTagName("con");
var sendtimes=mesRes.getElementsByTagName("sendtime");
//注释2 window.alert("bbb");
if(cons.length!=0){
for(var i=0;i<cons.length;i++){
$("mycons").value+="<?php echo $username;?>说:"+cons[i].childNodes[0].nodeValue+"___"+sendtimes[i].childNodes[0].nodeValue;
}
}
}
}
}
myXmlHttpRequest.send(data);
}
}
主要就是回调函数出问题, 注释1处的能响应,但是注释2处的window.alert就无法响应。大神帮忙看下。
....
if(myXmlHttpRequest.status==200){
var mesRes=myXmlHttpRequest.responseXML;
if(mesRes.xml == '') { //如果不是 xml 对象
alert(myXmlHttpRequest.responseText);//看一下究竟返回了什么
return;
}
....
聊天室,采用websockeet或comet,
其次也不必用数据库,redis或文件存储即可
这种错误,提示应该很明显吧