3

csrfToken在 Yii 1 中启用了它,它适用于简单的发布请求。但是每当我有 AJAX 请求时,它都会失败。我使用了以下代码:

主文件

'components' => array(
    'request' => array(
        'enableCsrfValidation' => true,
    ),
),

我从一篇 wiki 文章中找到了 ajax 请求解决方案,但这不起作用

控制器.php

public function init() {
        parent::init();
        $this->initAjaxCsrfToken();
    }

    // this function will work to post csrf token.
    protected function initAjaxCsrfToken() {

        Yii::app()->clientScript->registerScript('AjaxCsrfToken', ' $.ajaxSetup({
                         data: {"' . Yii::app()->request->csrfTokenName . '": "' . Yii::app()->request->csrfToken . '"},
                         cache:false
                    });', CClientScript::POS_HEAD);
    }

我需要一个全球解决方案。

4

0 回答 0