附加到现有路线JS和Larvel

时间:2019-03-18 21:13:55

标签: javascript laravel url routes

我正在尝试使用JS附加到现有的Laravel路由,而不必构建URL对象。

我的路线在下面的HTML元素中。

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

这是我的JS函数,用于构建新的URL。当前,新的URL是经过硬编码的,但是我更愿意从html元素中获取现有路由,然后将ID附加到其上,因此,如果我更新了路由,则不需要更新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 :(得分:0)

因此,您试图将data属性的值添加到JS函数中?

您可以仅使用普通JS从元素中检索值。

因此,如果您在元素上具有ID,则可以只使用document.getElementByID('the-ID-of-the-element')。dataset('href');

答案 1 :(得分:0)

如果JS在刀片模板文件中,则也可以绕开创建元素的需要,以保持该值。您只需使用刀片插值即可直接在代码中注入路线,如下所示:

n = len(a)
for i in range(n):
    imageio.imwrite(f'image_{i:03}.tiff', a[i])