的问题是this.I要保存在MySQL数据库的每封邮件,我尝试这样做使这个javascript函数:问题与AJAX聊天
function doWork(str)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// Използваните браузъри
xmlhttp=new XMLHttpRequest();
}
else
{// Кой ли ползва тези версии..
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","newmsg.php?q="+str,true);
xmlhttp.send();
}
然后文本字段:
<div id="sender">
Your message: <input type="text" name="msg" size="30" id="msg" />
<button onclick="doWork(this.msg);">Send</button>
</div>
最后的php文件:
$q=$_GET["q"];
(str)$q;
$db_connect = mysql_connect('localhost', 'root', 'diamond');
if(!$db_connect)
{
die('Не може да се осъществи връзка с базата данни' . mysql_error());
}
mysql_select_db("chat", $db_connect);
$sql = "INSERT INTO messages (user_id, time, text) VALUES ('1','1234','$q')";
mysql_query($sql);
mysql_close($db_connect);
和实际发生的是,USER_ID和时间字段正确填写,b在“文本”字段中显示“未定义”。 这是什么意思,我该如何解决这个问题? 感谢 Leron
看看一个名为Fiddler的程序。它允许您检查传入/传出的http请求。我的猜测是,doWork并没有首先获取字符串。但菲德勒可以证实这一点。只需选择请求,选择Inspectors,最后选择TextView或WebForms。看起来像你的例子的一部分没有通过任何一个 - 特别是什么触发doWork函数。 – mrtsherman 2011-06-01 21:52:33