У меня есть эта логика в моем приложении для изменения количества товара в корзине:
<script>
const options = document.querySelectorAll('.quantity')
Array.from(options).forEach(function (element) {
element.addEventListener('change', function() {
const id = element.getAttribute('data-id')
axios.patch(`{{ Route::currentRouteName(), ${id} }}`, {
quantity: this.value
})
.then(function (response) {
window.location.href = '{{ route('cartIndex', App::getLocale()) }}'
})
.catch(function (error) {
window.location.href = '{{ route('cartIndex', App::getLocale()) }}'
});
})
});
</script>
Линия
axios.patch(`{{ Route::currentRouteName(), ${id} }}`, {
quantity: this.value
})
раньше было так:
axios.patch(`/cart/${id}`, {
quantity: this.value
})
Я сделал функционал локализации. Теперь мне нужно передать параметр {lang}
каждому маршруту, поэтому я использую {{ Route::currentRouteName() }}
. однако остальная часть URL-адреса хранится в переменной javascript.
Как лучше всего получить значение переменной id
javascript и передать его методу Route::currentRouteName()
PHP?
🤔 А знаете ли вы, что...
JavaScript используется для разработки современных одностраничных приложений (SPA), где весь контент загружается асинхронно.