jquery ajax与memcache和php对象

时间:2009-11-06 23:50:55

标签: php jquery ajax memcached

希望我能够清楚地解释我的需求...... :)。 我有一个由PHP脚本生成的HTML文档,其中包含存储在memcache中的一些对象 PHP脚本使用这些对象来填充HTML元素并创建如下结构:

//$day is an array of objects pulled from memcache
<ul id="day">
<?php foreach($day as $key => $object): ?>
        <li>
            <a href="<?php echo $object->getUrl(); ?>"><img src="<?php echo $object->getImageUrl(); ?>" alt ="bla bla bla" width="220"/></a>
            <div class="cover">
                <span class="service">this is our service: <?php echo $object->getServiceName() ?></span>
                <span class="count"><?php echo $object->count() ?> </span>
        <span class="link"><a href="http://mydomain.com?objecturl= <?php echo $object->getUrl()?></a></span>
            </div>
        </li>
        <?php endforeach; ?>
    </ul>

基本上我的memcache每两分钟更新一次...... 现在,我想要做的是使用某种animate()效果使用memcache中的新对象动态更新HTML的内容。 我是jQuery的新手,我确实得到了它的基础知识,但我找不到任何像这样的东西的参考(内存结构,内存缓存和我正在使用对象的事实......确实使它成为一个有点挑战..)。

任何帮助,代码示例或参考资料将(一如既往)高度赞赏:)

1 个答案:

答案 0 :(得分:0)

这是更多的mootools语法,但是这个想法是一样的,你要做一个ajax请求来获取那个html,然后每隔很多秒或者onclick事件或其他东西把它推到div中。

        function updateHTML() {
            var display = $('somediv');
            var myRequest = new Request.JSON({
                url: '/getmyhtml.php',
                method: 'post',
                data: {
                    'postdata' : 'postvalue' // if you need to pass some post data
                },
                onComplete: function(response) {
                    if (response.success) {
                        display.set('html', response.data);
                        updateHTML().delay(120000) // 2 min
                    }
                }
            }).send();
        }
        window.addEvent('domready', function() {
            updateHTML();
        });

然后你的getmyhtml.php将你的html放在一个$变量中然后再做

<?php 
function getHTML()
{
  $html = "my html";
  $ret = array(
     'success' => true,
     'data' => $html,
  );
  return json_encode($ret);
}
getHTML();