2013-09-03 4 views
3

Я использую несколько различных вызовов AJAX на одной из моих страниц с помощью нескольких различных методов.Запрос Yii Ajax CSRF не может быть проверен

  1. CHtml::link()
  2. CHtml::ajax()
  3. В CGridview

Так что позволяет CSRF я с трудом проверочный маркер. Каков правильный путь? Я читал несколько сообщений, но изо всех сил пытался реализовать. Например, в CHtml::link() Я пробовал:

'data' => "Yii::app()->request->csrfTokenName = Yii::app()->request->csrfToken", 

а также в CGridview:

data: { 
    Yii::app()->request->csrfTokenName => Yii::app()->request->csrfToken 
}, 
+0

С трудом проверяя токен * когда что *? Что с ключом 'data' вы переходите к' CHtml :: link'? Ссылки делают запросы GET и запросы GET не должны приводить к модификации данных. – Jon

ответ

2

1- Фот Аякс у вас есть ajax, ajaxLink и ajaxButton не только ссылка.

2- CSRF токен работает, когда вы используете POST

Request

3- Добавить CSRF токен, как это: 'data' => Array ('YII_CSRF_TOKEN' => Yii :: приложение() -> request-> csrfToken) `

+0

Спасибо за это, любые идеи для работы с CGridView? – Jonnny

+0

'resolved'. Для меня это было это в моей функции '\t \t \t \t \t \t \t \t \t \t данные: { 'YII_CSRF_TOKEN': ' " Yii :: приложение() -> request-> csrfToken."}, ' – Jonnny

Смежные вопросы