2015-06-24 27 views
1

我正在爲我的網站製作聊天室,但是當我嘗試獲取數據值時,我的結果未定義。我的javascript調用AJAX我fetchChat.php因爲如此...AJAX呼叫刷新沒有獲取數據值

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是:

​​

所以基本上我使用的最後一條消息的數據值來獲得所有消息都大於最後一條消息。但是,只要我在javascript中回顯lastItem,它就會返回undefined。任何幫助真的很感激!這是我自己的想法,我試着看看我能用我的學校知識到目前爲止做些什麼。

+0

你試過$(「。chatmessage:last-child」)。attr('data-value')來看看你得到了什麼。另外,你有沒有測試$(「。chatmessage:last-child」).length來查看你是否有一個有效的選擇器? –

+0

就是這樣!你的第一個回答$(「。chatmessage:last-child」)。attr('data-value')修復了它。非常感謝! – ETurns

回答

0

固定!我必須改變我的lastItem爲$(「。chatmessage:last-child」)。attr('data-value');

謝謝Roumelis的幫助!

+0

沒問題。您試圖通過jQuery的.data()訪問html屬性。如果你想使用.data(),你必須先使用相同的函數設置data-attribute。 –