我在使用ajax提交表单时遇到了一些问题。
首先,我创建一个nonce并将其传递给我注册的脚本,然后将其发送给包含表单字段的ajax处理程序:
wp_localize_script( \'roll_script\', \'Roll\', array(
\'postRollNonce\' => wp_create_nonce(\'nonce-roll\')));
在我的ajax响应处理程序中,我验证nonce,完成我的工作,并尝试创建一个新的nonce以发送回js,以便稍后提交: function on_ajax_roll(){
if (!wp_verify_nonce($_POST[\'postRollNonce\'], \'nonce-roll\' )) die (\'No allowed!\');
// nonce is valid! do some stuff...
$r = array(\'postRollNonce\' => wp_create_nonce(\'nonce-roll\'));
$response = json_encode($r);
header( "Content-Type: application/json" );
echo $response;
die();
}
。。。但是,回到我的js,新的nonce与旧的完全相同!既然nonce应该随时间变化,为什么对wp\\u create\\u nonce的第二次调用会返回相同的字符串?