Как правильно сделать render вьюхи без перезагрузки при ajax запросе в yii2?

Для выполнения render вьюхи без перезагрузки страницы при ajax запросе в Yii2, вам потребуется выполнить несколько шагов.

1. Во-первых, в контроллере, обрабатывающем ваш ajax запрос, нужно установить, что возвращаемый результат будет в формате JSON. Для этого необходимо добавить следующую строку в соответствующий метод контроллера:

Yii::$app->response->format = yiiwebResponse::FORMAT_JSON;

2. Затем, в контроллере, вы можете выполнить рендеринг нужной вьюхи и использовать метод renderPartial() вместо метода render(). Метод renderPartial() отображает только содержимое вьюхи, без использования общего макета или шаблона. При этом необходимо передать ассоциативный массив с нужными данными вторым параметром, чтобы передать модель или переменные во вьюху. Например:

return $this->renderPartial('view', [
    'model' => $model,
]);

3. В JavaScript коде, который выполняет ajax запрос, вам нужно обработать ответ и вставить его содержимое в нужное место страницы. Вы можете воспользоваться методом .html() или .replaceWith() для замены содержимого элемента, либо методом .append() или .prepend() для добавления содержимого в конец или начало элемента соответственно. Ниже пример кода, использующего jQuery:

$.ajax({
    url: 'your-ajax-url',
    success: function(data) {
        // Вставляем полученное вью в нужный элемент на странице
        $('#your-container').html(data);
    }
});

Где 'your-ajax-url' - это URL вашего ajax запроса, а '#your-container' - это селектор элемента, в который нужно вставить результат.

Следуя вышеприведенным шагам, вы сможете выполнить рендеринг вьюхи без перезагрузки страницы при ajax запросе в Yii2.