【发布时间】:2011-09-20 07:43:54
【问题描述】:
我正在将我编写的模块从 D6 更新到 D7,因此必须在表单中用新的 #ajax 交换旧的 AHAH。
我正在执行一个 ajax 请求,它创建一个结果并用它替换一个表单元素。这基本上可以正常工作,但是在第一次请求之后,结果被缓存并且不考虑表单中的更改。我认为这可能是浏览器问题,但是否是 Drupal 发送了一个过期标头,导致浏览器采用缓存版本?还有其他想法吗?
hook_cache() 中的片段:
$form['fieldset']['mybutton'] = array(
'#type' => 'button',
'#value' => t('Send request'),
'#ajax' => array(
'callback' => 'mycallback',
'wrapper' => 'mywrapper',
'method' => 'replace',
'effect' => 'fade',
)
回调的sn-p:
function mycallback($form, $form_state) {
[..]
$form['fieldset']['mywrapper']['#markup'] = 'test';
return $form['fieldset']['mywrapper']['#markup'];
}
【问题讨论】:
-
你能告诉我们代码或你的回调函数吗?
-
我添加了回调的sn-p
标签: php drupal drupal-7 drupal-modules