错误
CSRF令牌无效。请尝试重新提交表格。
此错误有时以symfony2形式出现,但刷新后成功保存了形式。
此错误不是很频繁,保存表单时有时会发生。
我在每个浏览器中尝试过的问题都是一样的。
在刷新页面令牌时,在隐藏的输入字段中刷新,但错误保持不变。
我用谷歌搜索并找到了一些有用的文章建议
{{form_rest(form)}}
在关闭表单标签之前使用。
这是我的代码
Twig代码
<div id="{{ formID }}_container" class="main">
<div class="page">
<div id="{{ formID }}_output"></div>
{% include 'Bundle:Form:required_msg.html.twig' %}
{{form_start(form, { 'attr' : { 'id': formID } })}}
<div style="display: none">
{{form_rest(form)}}
</div>
{{form_end(form)}}
</div>
</div>
我有此隐藏字段:
<input id="form_id" name="details_form[_token]" value="somevalue" type="hidden">
这是我的表单数据:
details_form[_token] value
details_form[age]
details_form[gender] F
这是请求响应:
{"success":false,"msg":"Form is invalid.","errors":[{"name":"[0]","message":"The CSRF token is invalid. Please try to resubmit the form."}]
我在堆栈溢出(The CSRF token is invalid. Please try to resubmit the form)上看到的其他答案说要这样做:
public function setDefaultOptions(OptionsResolverInterface $resolver) {
$resolver->setDefaults(array(
'options' => array(),
csrf_protection' => false
));
}
但是,我的要求不是将csrf_protection
标志设置为false
。谁能建议最好的方法来解决此问题?
ytarrr拥有!这是真的吗????