首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drupal 7函数ajax响应程序

Drupal 7函数ajax响应程序
EN

Stack Overflow用户
提问于 2012-02-29 13:18:05
回答 2查看 512关注 0票数 0

我正在将基于AJAX的复杂解决方案作为模块构建到Drupal 7站点中。我决定不编写一个独立的PHP脚本来响应我的jQUERY ajax调用,而是在我的drupal模块中实现代码。

我的问题是在jQUERY和DRUPAL :e之间建立连接--响应单击事件的函数.

我使用了以下代码:

代码语言:javascript
复制
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;
}

但是,当我停止、卸载和重新启动模块时,它就停止工作了。这似乎不是一个可靠的策略。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-29 14:21:24

drupal_flush_all_caches()这样做:

清空缓存表,重新构建菜单缓存和主题注册,并调用钩子,以便其他模块的缓存数据也可以被清除。

当重新构建菜单时,hook_menu()是called...basically --通过将drupal_flush_all_caches()放在当前的位置而导致无限循环。

票数 1
EN

Stack Overflow用户

发布于 2012-07-11 15:17:29

您仍在创建一个循环,其中正在调用菜单项,然后由缓存清除。如果需要的话,应该首先调用它,但是如果您在模块的hook_menu()中需要这样做的话,还会出现另一个问题。

您应该删除它,并确保您的表单使用固定数据调用和返回数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9499873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档