我正在为我的网站创建一个聊天框,但是当我尝试获取数据值时,结果是不确定的。我的JavaScript如此调用AJAX到fetchChat.php ...
var myVar = setInterval(function () {refreshChat()}, 5000);
function refreshChat() {
var lastItem = 0;
lastItem = $(".chatmessage:last-child").data('value');
if (typeof lastItem === 'undefined')
{
alert("undefined");
lastItem = 0;
}
$.post("outputPages/fetchChat.php", {'li':lastItem}, function(response)
{
$(".messagefeed").append(response);
});
}
我在fetchChat中的PHP是:
<?PHP
require "../pages/connect.php";
$li = $_POST;
$li = implode($li);
$fetch = "SELECT * FROM chat WHERE messageID >= '$li' ORDER BY messageID ";
if ($result = $mysqli->query($fetch)) {
while ($row = $result->fetch_array()) {
$ID = $row['messageID'];
$date = $row['messageDate'];
$persona = $row['messagePersona'];
$message = htmlspecialchars($row['message'], ENT_QUOTES);
echo "<p class='chatmessage' data-value='$ID'>$date $persona: $message</p>";
}
}
?>
因此,基本上,我使用最后一条消息的数据值来使所有消息大于最后一条消息。但是,每当我在javascript中回显lastItem时,它都会返回undefined。任何帮助都非常感谢!这是我自己的想法,而我正在尝试看看到目前为止我能用我的学校知识做什么。
最佳答案
固定!我必须将我的lastItem更改为$(“。chatmessage:last-child”)。attr('data-value');
谢谢Roumelis的帮助!
关于javascript - AJAX要求刷新而不获取数据值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31021084/