Что я делаю не так с $.post запросом?

Всем привет!
Я в JS не силён, но мне необходимо сделать ajax загрузку через функцию $.post.
JS код:
$.post(
            "<?= Url::toRoute(['/user/default/get', 'id' => 1]); ?>", {
                _csrf: "<?= Yii::$app->request->getCsrfToken() ?>",
            },
            function(data){
                var info = $.parseJSON(data);
                if(info.status == 'off') {
                    alert('off')
                } else {
                    alert('on');
                }
            }
        );

Action куда идёт запрос:
public function actionGet($id)
    {
        Yii::$app->response->format = Response::FORMAT_JSON;

        $online = true;
        if($online) {
            $data['status'] = 'on';
            return $data;
        } else {
            $data['status'] = 'off';
            return $data;
        }
    }

И вообщем то ничего не происходит, за исключением ошибки в консоли "Uncaught SyntaxError: Unexpected token o".
Что я не так делаю то?
Где ошибка?
  • Вопрос задан
  • 293 просмотра
Решения вопроса 1
vladbushuev
@vladbushuev Автор вопроса
Если сделать вот так:
$online = true;
        if($online) {
            $data['status'] = 'on';
            return json_encode($data);
        } else {
            $data['status'] = 'off';
            return $data;
        }

Значит дело не в JS, а в Yii.
Почему не работает
Yii::$app->response->format = Response::FORMAT_JSON;
?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы