我已经创建了一个.module文件,其中包含一个表单和一个ajax回调。下面是.module文件的一段简单代码:
function form_registration_form($form, &$form_state) {
$form['registration']['email'] = array(
'#type' => 'textfield',
'#required' => TRUE,
'#size' => 44,
'#maxlength' => '80',
'#attributes'=> array('placeholder' => 'Email','data-email'=>'','data-min-chars'=>'5'),
);
$form['registration']['password'] = array(
'#type' => 'password',
'#required' => TRUE,
'#size' => 44,
'#maxlength' => '80',
'#attributes'=> array('placeholder' => 'Password'),
);
$form['registration']['submit'] = array(
'#value' => 'SIGN IN',
'#type' => 'submit',
'#submit' => array('form_registration_handler'),
);
return $form;
}
and in the function form_registration_handler I create a session (name it test).
Here is the ajax menu call back function:
function mymodule_menu() {
$items['ajax/innerAction'] = array(
'title' => 'Browser Inner Action',
'page callback' => 'innerActionCallBack',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
function innerActionCallBack() {
header('Access-Control-Allow-Origin: *');
drupal_session_start();
print session_id();
}此函数在我的page.tpl.php文件上使用,用于创建到服务器的ajax。这里的问题是,当我调用ajax时,当我刷新浏览器时,会话id是不同的,并且我无法检索我之前创建的会话测试。你知道这里发生了什么吗。任何帮助都是非常感谢的。
发布于 2013-07-22 13:22:29
好了,我已经找到答案了。我必须先让用户登录到Drupal,这样Drupal才能检索到正确的sessionID。
https://stackoverflow.com/questions/17639765
复制相似问题