如何在 laravel 的 javascript 代码中设置路由名称
Posted
技术标签:
【中文标题】如何在 laravel 的 javascript 代码中设置路由名称【英文标题】:how can i set route name in javascript code in laravel 【发布时间】: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 调用从服务器请求路由名称 【参考方案1】:您可以通过将 name 方法链接到路由定义来指定命名路由:
Route::get('user/profile', function () // )->name('profile');
您可以为控制器操作指定路由名称:
Route::get('user/profile', 'UserController@showProfile')->name('profile');
【讨论】:
谢谢。我已经在 web.php 文件中设置了路由。我在控制器中有一个方法。我想在 javascript 函数中以不同的路由传递路径提交表单,并在运行时在该 JS 函数中提交表单。 我的 html 表单 【参考方案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 任何你设置的名字。以上是关于如何在 laravel 的 javascript 代码中设置路由名称的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.4 - 如何在 javascript 加载之前使 @section 屈服
如何:在 Laravel 4 中将数据从控制器传递到 JavaScript?
如何使用 Laravel 在 Javascript 中使用 PHP 变量?