Если сделать вот так:
$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;
?