AJAX调用刷新不获取数据值

时间:2015-06-24 08:07:37

标签: javascript php jquery ajax

我正在为我的网站制作聊天框但是当我尝试获取数据值时,我的结果是未定义的。我的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。任何帮助真的很感激!这是我自己的想法,我试图看看到目前为止我能用我的学校知识做些什么。

1 个答案:

答案 0 :(得分:0)

固定!我必须将我的lastItem更改为$(&#34; .chatmessage:last-child&#34;)。attr(&#39; data-value&#39;);

感谢Roumelis的帮助!