在 laravel blade 大括号内连接 Javascript 变量

Concatenate Javascript variable inside laravel blade curly braces

我想在 blade {{ curly braces }} 中连接 javascript 变量,如下所示:

目前:

ajax: "{{ route(api.colors) }},"

我想要的:

var page='colors';
...
ajax: "{{ route(api."+page+") }},"

可能吗?

您不能直接执行此操作,因为大括号在服务器端呈现,而 javascript 在客户端运行。你可以在你的路线中放置一个占位符,然后在你的 javascript 代码中替换这部分。像这样:

// Imagine the `api.page` route value is `/controller/{page}`:
ajax: "{{ route(api.page) }}".replace("{page}", page);

你可以试试这个代码,它对我有用。

 var id = $('#user_id').val();
 console.log(id);   
 ajax: "{{ URL::to('/meme') }}/poster/"+id+"",

您可以使用 ziggy library.

它有一个辅助函数 route(route_name),您可以轻松地用于此目的。