Всем доброго времени суток.
Разбираюсь с вопросом как передать данные из представления в контроллер при помощи ajax.
Вот что у меня получается:
В представлении есть JS код:
<?php
$js=<<<JS
$("#testBut").on("click", function(e) {
$ajax({
url : '/analytica',
type : 'POST',
data : {dat : 'qwe', '<?= Yii::$app->request->csrfParam; ?>' : '<?= Yii::$app->request->getCsrfToken() ?>'},
success : function(res){
console.log(res);
},
error : function(){
alert('Ошибка при отправке данных: перезагрузите страницу!');
}
})
return false;
})
JS;
$this->registerJs($js);
?>
В контроллере следующий код:
public function actionIndex()
{
if(\Yii::$app->request->isAjax){
return 'Запрос принят';
}
return $this->render('index');
}
На просторах интернета вычитал что данные могут не отправляться из-за того, что я не передаю
csrf, именно поэтому в JS добавился код
'<?= Yii::$app->request->csrfParam; ?>' : '<?= Yii::$app->request->getCsrfToken() ?>'
Но т.к. код не преобразовывается, а выводится прям так, как написан - я понимаю что где-то свернул не туда.
Буду благодарен если сможете подсказать в каком направлении дальше двигаться