的問題是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