【问题标题】:How to Write Route URL inside Javascript Laravel Blade?如何在 Javascript Laravel Blade 中编写路由 URL?
【发布时间】:2020-03-30 12:24:31
【问题描述】:

这是我的路线,有 2 个参数,

url: '{{ route('datatable.getaccess', [$room->id_project , $room->id]) }},

如果这样写会显示:xxxxxx?xxxxxx,有 问号 beetwen id_project 到 $id, 如何正确书写?因为那应该是 "/" 斜线

谢谢。

【问题讨论】:

  • 该路线在您的web.php 路线文件中是什么样的?
  • 我想它是完美的。您的route 有一个route parameter,其他值附加为query parameter
  • @kerbholz Route::get('viewroom/{id_project}/{id}', 'RoomController@show'); 这样
  • @PrashantDeshmukh .....对不起,我没有得到你的答案,这是什么意思?我的路线有 2 个参数,
  • route name 在哪里?应该是这样的Route::get('viewroom/{id_project}/{id}', 'RoomController@show')->name('datatable.getaccess');

标签: javascript php ajax laravel laravel-blade


【解决方案1】:

您可以为 javascript 使用字符串占位符。

<input type="hidden" id="_room_id" value="{{ $room->id }}">
<input type="hidden" id="_room_project_id" value="{{ $room->id_project }}">
let project_id = $('#_room_project_id').val(); // or document.getElementById('_room_project_id').value if you're not using JQuery
let id = $('#_room_id').val();                 // or document.getElementById('_room_id').value if you're not using JQuery
let url = "{{ route('datatable.getaccess', [':project_id', ':id']) }}".replace(':project_id', project_id).replace(':id', id);

这看起来不对,但它确实有效,因为我们正在将字符串传递给路由助手(这反过来会产生一个字符串)

route('datatable.getaccess', [':project_id', ':id'])
// 'viewroom/:project_id/:id'

所以

let url = "{{ route('datatable.getaccess', [':project_id', ':id']) }}".replace(':project_id', project_id).replace(':id', id);

等价于

let url = "viewroom/:project_id/:id".replace(':project_id', project_id).replace(':id', id);

【讨论】:

  • 这真的帮了我很多忙
猜你喜欢
  • 2021-01-09
  • 2018-09-06
  • 2018-06-08
  • 2018-03-31
  • 1970-01-01
  • 2018-01-02
  • 2015-02-09
  • 2021-05-20
  • 2021-10-23
相关资源
最近更新 更多