Ajax - uniqcle/Yii2 GitHub Wiki

registerJs()

$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;
        }

    }
⚠️ **GitHub.com Fallback** ⚠️