【发布时间】:2013-08-05 10:20:35
【问题描述】:
我已经在 ajax 中创建了一个聊天,但我仍然有一些我无法识别的问题。 当页面加载时,php 加载所有打开的聊天和相关的 mex,然后有一个 addmex ajax 函数:当用户点击输入时,它被称为传递 this.value 和 cod_chat。 ajax 函数将这些数据发送到 php,后者将它们插入 db 并将最后一个 mex 添加到聊天中。每 X 秒调用一次更新函数,以更新聊天。 在到达 addmex 函数之前,这一切都有效:php 有效,因为它将 mex 添加到数据库中,但由于某种原因它刷新了页面。我可以使用 RTMP 吗?
这是表单的代码:
<input type='text' class='chat_input' value='write something' onkeydown='if (event.keyCode == 13){addmex(this.value); this.value='';}'/>
这是ajax函数的代码(不用担心php变量,因为这个函数是通过echo加载的):
function addmex(mex)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","addmex.php?cod_contatto="+' . $cod_contatto . '+"&mex="+mex,false);
xmlhttp.send();
document.getElementById("messaggi_' . $cod_contatto . '").innerHTML+=xmlhttp.responseText;
}
我将 Async 设置为 false,因为它响应缓慢,如果我设置为 true,则仅适用于一些让服务器部分完成的警报。有什么想法吗?
【问题讨论】:
-
如果您的应用不是商业应用,请选择 RTMFP
-
我会用它来为一个网络应用程序创建一个聊天,这将通过添加获得,所以它可能是商业用途。