仅在新内容不同时替换数据

时间:2013-05-18 22:45:52

标签: javascript jquery ajax html

我开始时遇到与此问题极为相似的问题:Jquery : remplace content only if the new content is different

我已经尝试了接受的解决方案,它似乎没有按照预期的方式工作。我首先尝试了本机解决方案,只是放入我的div。然后我尝试在jQuery的网站上查找函数:http://api.jquery.com/data/并相应地修改我的代码到最后一个例子。我试着提醒数据,看看究竟发生了什么,但是数据量相当大,这就是为什么我有MD5哈希的所有内容。

我的问题是第一个警报未定义,而第二个警报实际上是定义出来的。难道我做错了什么?什么会导致这些存储的数据消失?

我目前的代码:

function setDiv(data) {
    newData = md5(data);
    if ($('#myDiv1').data('oldData') != newData) {
        $('#myDiv1').fadeTo("fast", 0, function () {$(this).html(data).fadeTo("fast", 1)});

        alert($('#myDiv1').data('oldData'))

        $('#myDiv1').data('oldData',md5(data));
        alert($('#myDiv1').data('oldData'))
    }
}

我的脚本标题(第二个用于md5函数):

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://www.myersdaily.org/joseph/javascript/md5.js"></script>

对于所有意图和目的,输入到该功能的数据是正确的...无论如何我能看到它。它在设置后仍然起作用。但我只是不希望它每次刷新时都会刷新它的事情,而且我更喜欢淡出和淡出的东西,而不仅仅是BAM。

现在,使用当前代码,即使数据相同,它也会淡入淡出。显然在开始时提醒我未定义,并在完成时提示md5。每次完成相同的md5,所以它绝对是相同的数据。但第一个警报是未定义的问题。

将数据提交到上述函数的函数:

function loadDivContent(arg1,arg2) {
    $.post('divContent.php',{arg1:arg1,arg2:arg2})
    .done(function(data) {
        setDiv(data)
    });
}

0 个答案:

没有答案