2015-06-24 25 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。 –