如何将变量放在jquery的大括号内?

问题描述

我正在使用 laravel 和 jquery 开发一个应用程序。在 Jquery ajax 部分,我有每个页面的动态 url。 代码

 $(document).on('click','.assignFlagClass',function(){
        var id = $(this).data('id');
        var routeName = $(this).data('route');
        var url = `route('${routeName}')`;
        
        $('#assignFlagModal').modal('show');
        $.ajax({
            url:"{{ "+url+" }}",data: {id:id},method: 'get',success: function(res)
            {
                alert(res);
            }
        });
    });

预期的 URL 输出 localhost:8000/slug/id 输出 localhost:8000+url+?id=1

解决方法

<script>
$(function() {
        var url = "{{ route("query") }}";
    })
</script>

这仅在您的 url 中没有任何值/参数时才有效..如果您的 url 是动态的,那么您不能从 jquery 使用该路由,因为当 DOM 准备就绪时,您将没有该路由所需的变量。您可以做的一件事是仅在页面完全加载后加载该 jquery。

,

你可以使用类似的东西:

<script>
    $(function() {
            var url = '{{ route("query") }}'
        })

    </script>