Ajax - uniqcle/Yii2 GitHub Wiki
$this->registerJs("", \yii\web\View::POS_LOAD)
В контроллере frontend/controllers/UserController.php
namespace frontend\controllers;
use Yii;
use frontend\controllers\AppController;
class UserController extends AppController
{
...
public function actionAjax(){
return $this->render('ajax');
}
}
Во вью frontend/views/user/ajax.php
<?php
use yii\helpers\Url;
?>
<button class = "btn btn-success" id = "btn"> Click me...</button>
<div id="result"></div>
<?php
$test = 123;
$url = Url::to(['newsletter/test']);
$js = <<< JS
$('#btn').on('click', function(e){
$.ajax({
url: "$url",
data: { test: "$test" }, //Передаем переменную $test
type: 'POST',
success: function (res){
$('#result').html(res);
},
error: function(){
alert('Error');
}
});
});
JS;
//Регистрация скрипта
$this->registerJs( $js, \yii\web\View::POS_END );
В другом контроллере frontend/controllers/NewsletterController.php
public function actionTest(){
if( Yii::$app->request->isAjax ){
$test = $_POST['test'];
return 'Данные пришли Ajax '.$test;
}
}