Добавить к существующему маршруту JS и Larvel - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь добавить к существующему маршруту Laravel с JS без необходимости создания объекта URL.

Мой маршрут находится в HTML-элементе ниже.

<div class="clickable-element js-location-id" data-href="{{ route('report.file.list')}}">DATA</div>

Вот моя функция JS, которая создает новый URL.В настоящее время новый URL-адрес жестко задан, но я бы предпочел извлечь существующий маршрут из элемента html и просто добавить к нему идентификатор, поэтому, если я когда-либо обновлю маршрут, мне не нужно обновлять JS.

buildTileFilter(){
        //Can I grab the route from the html element without having to create a url?
        let url = new URL('http://sample_site/report/file/list?f%5B%5D');
        let query_string = url.search;
        let search_params = new URLSearchParams(query_string);
        search_params.set('f[]', this.locationId);
        url.search = search_params.toString();
        let new_url = url.toString();
        return new_url;
    }

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Вы также можете обойти необходимость создания элемента с целью удержания значения, если JS находится в файле шаблона вашего блэйда. Вы можете просто использовать блейд-интерполяцию, чтобы ввести маршрут прямо в ваш код, например:

buildTileFilter(){
    //Can I grab the route from the html element without having to create a url?
    let url = '{{route('report.file.list)}}';
    let query_string = url.search;
    let search_params = new URLSearchParams(query_string);
    search_params.set('f[]', this.locationId);
    url.search = search_params.toString();
    let new_url = url.toString();
    return new_url;
}
0 голосов
/ 19 марта 2019

Итак, вы пытаетесь получить значение атрибута data в функцию JS?

вы можете просто использовать vanilla JS для извлечения значения из элемента.

Поэтому, если у вас есть идентификатор для элемента, вы можете просто использовать document.getElementByID ('the-ID-of-заместитель элемента ') набора данных (.' HREF ');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...