IE中的Javascript AJAX responseText问题
|
我正在尝试使用PHP / MySql和AJAX创建某种聊天框系统,但是在IE中运行脚本遇到困难。我在Google Chrome浏览器中对其进行了测试,效果很好。但是,当我在IE中对其进行测试时,应该每3秒从数据库中获取所有消息的AJAX函数无法正常工作。它确实每3秒调用一次PHP脚本,并将responseText放入div(显示每3秒显示的所有消息)。但是显示的消息始终是相同的(直到我关闭页面并重新运行脚本)。同样,将新消息添加到数据库时,它也不会显示。好像responseText不是\'updating \'。这些是我的脚本:
(AJAX)
function getMessages(messengerid, repeat)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject(\"Microsoft.XMLHTTP\");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById(\"messages\").innerHTML=xmlhttp.responseText;
document.getElementById(\"messages\").scrollTop = document.getElementById(\"messages\").scrollHeight;
}
}
xmlhttp.open(\"GET\",\"modules/get_messages.php?key=abcIUETH85i236t246jerst3487Jh&id=\"+messengerid,true);
xmlhttp.send();
if(repeat) {
setTimeout(\"getMessages(\"+messengerid+\", 1);\", 3000);
}
}
(PHP / MySQL)
<?php
$key = \"abcIUETH85i236t246jerst3487Jh\";
if( ($_GET[\'key\'] == $key OR defined(\'IS_INTERNAL\')) AND (int)$_GET[\'id\'] > 0) {
include_once(\"../config.php\");
include_once(\"../class/system.class.php\");
$sys = new system($template_name);
if(!$sys->connect($db)) {
exit();
}
$messages = $sys->getEntries(\"messages\", \" WHERE messenger_id = \'\".(int)$_GET[\'id\'].\"\' ORDER BY id ASC \");
$messenger = $sys->getEntries(\"messengers\", \" WHERE id = \'\".(int)$_GET[\'id\'].\"\' LIMIT 1\");
$user1 = $sys->getEntries(\"accounts\", \" WHERE id = \'\".$messenger[0][\'account_id1\'].\"\' \");
$user2 = $sys->getEntries(\"accounts\", \" WHERE id = \'\".$messenger[0][\'account_id2\'].\"\' \");
$displaynames[$user1[0][\'id\']] = $user1[0][\'displayname\'];
$displaynames[$user2[0][\'id\']] = $user2[0][\'displayname\'];
foreach($messages AS $key => $message) {
if(is_numeric($key)) {
?>
<div class=\"message\">
<b><?=$displaynames[$message[\'account_id\']];?> (<?=date(\"h:m:s\", $message[\'timestamp\']);?>) says:</b> <br />
<?=nl2br($message[\'message_content\']);?>
</div>
<?php
}
}
}
?>
任何帮助将非常感激!
提前致谢。
最好的祝福,
Skyfe。
没有找到相关结果
已邀请:
3 个回复
蹦吃舷弦
筷啸够对铅
缝皋
我知道帖子很旧,我只是对未来的观众回复:D;)