我正在构建一个复杂的基于AJAX的解决方案作为模块放入Drupal 7站点。我决定不写一个独立的PHP脚本来响应我的jQUERY ajax调用,但在我的drupal模块中实现代码。Drupal 7函数ajax响应者
我的问题是建立jQUERY和DRUPAL之间的连接i:e响应我的CLICK EVENT的函数。
我用下面的代码:
function staff_filter_menu(){
$items = array();
$items['staff/filtering/results/%'] = array(
'page callback' => 'staff_filter_function',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
'delivery callback' => 'staff_filter_deliver',
);
$items['staff/filtering/saveclipboard'] = array(
'page callback' => 'staff_filter_savetoDB',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
'delivery callback' => 'staff_filter_deliver',
);
drupal_flush_all_caches();
return $items;
}
但是,它停止的时候我停了下来,卸载并重新启动该模块工作。这似乎不是一个可靠的策略。
我看到你的观点Clive,但是我打电话给drupal_flush_all_caches的原因是因为我试图创建的菜单(上面的第一个)没有创建。刷新高速缓存不合理的次数后,终于创建了...所以我'强迫它'通过从我的代码清除缓存。此外,这是在Drupal中提供AJAX回调的最佳方式吗? – sisko 2012-02-29 16:07:48
@sisko你的意思是使用'delivery callback'方法吗?如果是这样,那么是的,我认为这是做到这一点的最佳方式......核心AJAX函数似乎是这样做的:) – Clive 2012-02-29 16:36:06