我在尝试用JS更新路由时遇到麻烦。当我console.log buildTileFilter()函数时,它正在构建正确的URL,但是由于某种原因,它将不会更新data-href值。
我有以下内容。下面的Javascript构建了一个新的URL。
buildTileFilter(){
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;
}
此Javascript查找具有以下ID的元素,并用JS构建的新路径替换旧的Laravel路径。
$locationTile.find('.js-location-id').attr('data-href', this.buildTileFilter());
这是HTML元素。
<div class="clickable-element location-tile js-location-id" data-href="{{ route('report.file.list') }}">DATA</div>