缓存页面的实时更新

开启匿名用户页面缓存可以极大提高网站的访问速度和并发性。当遇到页面上有依据时间修改状态的内容时,可以使用cache exclude 模块,它可以针对内容类型或URL设置哪些页面不要缓存。

更好的建议是通过异步加载在缓存页面上动态刷新内容。

以下有关异步加载的代码仅供参考:

1. ajax 请求的js代码:

(function ($, Drupal) {
  Drupal.behaviors.myModule = {
    'attach': function(context) {
      $.ajax({
        "type":"POST",
        "url": 'url',
        "dataType": "html",
        "data":{'key': 'value'},
        "success":function(data){
          $('#someDiv').html(data);
        },
        "error" : function(){},
      });
    }
  }
})(jQuery, Drupal);

2. 定义一个返回路径

function myModule_menu() {
  $items['url/%'] = array(
    'page callback' => 'myModule_ajax_get_ajax', // Render HTML.
    'page arguments' => array(1),
    'type' => MENU_CALLBACK,
    'access arguments' => array('access content'),
  );
  return $items;
}

3. 生成返回的HTML

function myModule_ajax_get_ajax($parm) {
  $html = '';
  // generate your html here
 
  return $html;
}