@forest
В Yii2 можно передать X-CSRF-Token с помощью метода yii.activeForm.data
в JavaScript.
1 2 3 4 5 6 7 |
public function beforeValidate() { if (Yii::$app->request->isAjax) { Yii::$app->request->headers->set('X-CSRF-Token', Yii::$app->request->csrfToken); } return parent::beforeValidate(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$('form#form-id').on('beforeSubmit', function(e) { var form = $(this); $.ajax({ url: form.attr('action'), type: 'post', data: form.serialize(), beforeSend: function (xhr) { xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content')); }, success: function(data) { // handle successful response } }); return false; }); |
Теперь X-CSRF-Token будет передан с каждым AJAX-запросом.