Я использую Symfony и шаблон twig. Мой код:
var dataId = $('.url-select').data('id');
url = "{{ url('product', {id: 'dataId'}) }}";
Это не работает. У вас есть какое-то решение, если это возможно?
вам нужно заранее сгенерировать URL-адрес; например, вы можете просто установить полный URL-адрес в атрибуте данных таким же образом
Это возможно с FosJsRouting
вы можете назначить переменную JS, а затем передать ее как маршрут. <script> var myroute = "{{ path('myroutename') }}"; </script> Я сделал это в других проектах, и он пройдет маршрут.
Эта короткая статья ответит на ваш вопрос: https://symfony.com/doc/current/frontend/encore/server-data.html
В вашем шаблоне ветки:
<div class = "url-select"
data-id = "{{ product.id }}"
data-url = "{{ path('product', {id: product.id}) }}">
</div>
А в js вы можете просто выбрать URL-адрес, выполнив следующие действия:
var id = $('.url-select').data('id')
var url = $('.url-select').data('url')
нельзя взаимодействовать с шаблоном через javascript; к тому времени, когда js сможет запуститься, шаблон уже превратится в html. это никогда не сработает.