【问题标题】:how can i set route name in javascript code in laravel如何在 laravel 的 javascript 代码中设置路由名称
【发布时间】:2021-12-16 17:09:39
【问题描述】:

我想在 javascript 代码中分配/设置路由。我有 javascript 方法,它在参数中采用路由名称,我想在路由中分配该参数,如下所示。

function assign_route(route_name){

var url = "{{ route('+route_name+') }}";

或如下

var url = "{{ route('old_url') }}"; url = url.replace('old_url', route_name);

}

【问题讨论】:

  • 路由名称在 PHP 代码中生成,该代码在 JavaScript 可以运行之前运行。如果您尝试根据页面加载后计算的某个 JS 变量生成路由名称,则需要通过某种 AJAX 调用从服务器请求路由名称

标签: javascript laravel forms routes runtime


【解决方案1】:

您可以通过将 name 方法链接到路由定义来指定命名路由:

Route::get('user/profile', function () { // })->name('profile'); 

您可以为控制器操作指定路由名称:

Route::get('user/profile', 'UserController@showProfile')->name('profile');

【讨论】:

  • 谢谢。我已经在 web.php 文件中设置了路由。我在控制器中有一个方法。我想在 javascript 函数中以不同的路由传递路径提交表单,并在运行时在该 JS 函数中提交表单。 我的 html 表单
    @csrf
【解决方案2】:

你可以在你的 javascript 函数中这样尝试:

var uri = "{{ route('routeName', ':variable') }}";
uri = uri.replace(':variable', yourvariable);

【讨论】:

  • 先生,它会改变routeName的参数,实际上我想在运行时通过传递不同的路由来改变routeName var uri = "{{ route('routeName',) }}"; uri = uri.replace('routeName', mynewroute);
  • 试着把你的 roue 放在 routeName 中,routeName 是你的路由形式 web 任何你设置的名字。
猜你喜欢
  • 2018-03-19
  • 2022-11-26
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 2016-08-18
  • 2017-04-01
  • 1970-01-01
  • 2021-10-07
相关资源
最近更新 更多