Задать вопрос
@Sonnabend

Как в Yii2 вызывать action'ы в конкретном контроллере с помощью Javascript?

Проблема такая: меню сайта из-за сложности представления рисуется с помощью SVG-кода. Как мне запускать action'ы? Допустим я хочу запустить site/login из демо-примера. ВНЕ svg-блока следующая команда работает:
<?= Html::a(Yii::t('app', '0'), ['site/login']) ?>
А внутри svg-блока не работает:
<svg>
...
<text id="s3" transform="matrix(1 0 0 1 80.3013 72.0967)" fill="#D4EBFF" font-family="'ArialMT'"
                  font-size="29" style="cursor: pointer;"><?= Html::a(Yii::t('app', '0'), ['site/login']) ?>
            </text>
...
</svg>

Думаю можно с помощью Ajax запроса делать, но никакой из следующих вариантов не работает:
$('#s3').click(function(){
    $.post('/yii2/controllers/SiteController.php', {r:'site/login'});
});

$('#s3').click(function(){
    $.post('?r=site/login');
});


Я заранее прошу прощения, если написал какую-то глупость, так как совсем недавно пришлось работать с SVG и PHP. До этого опыт был только в JS. Но думаю проблему достаточно ясно описал.
  • Вопрос задан
  • 2220 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
vyachin
@vyachin
Ищу работу
$('#s3').click(function () {
    location.href = '<?=Url::to(['site/login']) ?>';
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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