Rumah > rangka kerja php > YII > yii2提交表单提示无法验证怎么办

yii2提交表单提示无法验证怎么办

王林
Lepaskan: 2020-02-19 15:39:43
asal
2239 orang telah melayarinya

yii2提交表单提示无法验证怎么办

问题:

yii2提交表单提示无法验证。

原因:

之所以提示无法验证是因为对于post请求,是有一个CSRF验证的。

(推荐教程:yii框架

解决方法:

第一种解决办法是关闭Csrf

public function init()
{
    $this->enableCsrfValidation = false;
}
//或者
public function __construct($id, $module, $config = [])
{
    $this->menuActive = 2;
    $this->enableCsrfValidation = false;
    parent::__construct($id, $module, $config);     
          
}
//总之把enableCsrfValidation设为false就可以了
Salin selepas log masuk

第二种解决办法是在form表单中加入隐藏域

<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>">
Salin selepas log masuk

第三种解决办法是在AJAX中加入_csrf字段

var csrfToken = $(&#39;meta[name="csrf-token"]&#39;).attr("content");
$.ajax({
    type: &#39;POST&#39;,
    url: url,
    data: {
        _csrf:csrfToken},
        success: success,
        dataType: dataType
});
Salin selepas log masuk

更多编程相关内容,请关注php中文网编程入门栏目!

Atas ialah kandungan terperinci yii2提交表单提示无法验证怎么办. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan