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

Yii2. Как в javascript коде генерить url?

когда указываю url вручную то на главной странице работает
а на других вместо отправки запроса без перезагрузки переходит по указаному url

<?php $js = <<<JS
            jQuery('#forgot-password').on('click', function(){
                jQuery.post('site/request-password-reset')
                    .done(function(result) {
                      ....
                    })
                return false;
            })
JS;
        $this->registerJs($js);
        ?>


1) как генерить url для такого случая?
2) как генерить url в файле *.js ?
  • Вопрос задан
  • 3252 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 2
asf
@asf Автор вопроса
Решил добавив в layout
<script>
        var base_url = '<?= \Yii::$app->request->hostInfo . "/" . \Yii::$app->language; ?>';
</script>

ну а дальше клею этот url к конструкции controler/action в js
jQuery.post(base_url + '/site/request-password-reset')

p.s. может кто то знает лучший вариант буду рад услышать
Ответ написан
Комментировать
в 1 случае надо генерить урл в самом js-коде
во втором случае надо генерить на странице такой код:
var passwordResetUrl = '<?= Url::toRoute([...]) ?>';


а в js-файле использовать эту переменную.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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