我正在开发一些后端项目,并希望通过jQueryUI标签加载表单
<div id="parameters_tabs" style="width:920px;">
<ul>
<li><a href="<?=base_url()?>link1"><?=$this->lang->line('tab_name')?></a></li>
</ul>
</div>
作为回应,我生成了几个表格,如下例所示:
<?
for ($i = 0; $i < count($groups); $i++)
{
?>
<form id="group_form<?=$i?>" method="POST" action="<?=base_url()?>update_group">
<input type="hidden" name="<?=$this->config->item('csrf_token_name')?>" value="<?=$token?>" />
<input type="hidden" name="id" value="<?=$groups[$i]['id']?>" />
<tr>
<td>
<input type="text" value="<?=$groups[$i]['name']?>" name="name" />
</td>
<td>
<input type="text" value="<?=$groups[$i]['short_name']?>" name="short_name" />
</td>
<td>
<textarea cols="80" rows="4" name="desc"><?=$mgroups[$i]['desc']?></textarea>
</td>
<td style="width: 30px">
<a class="save" onclick="$('#group_form<?=$i?>').submit();"><?=$this->lang->line('save')?></a>
</td>
</tr>
</form>
<?
}
?>
点击“保存”时,我收到了有关CSRF保护的标准错误:
“遇到错误
不允许您请求的操作。“
任何人都可以帮助我并告诉我哪里弄错了吗?当然在源代码中我看到了正确的csrf_token_name。
答案 0 :(得分:0)
This article帮助了我。使用内置的form helper form_open()函数也可能有助于解决问题(因为它会为您生成隐藏的CSRF字段)。