如何从刀片模板中的 Javascript 文件重定向 Laravel 路由

Posted

技术标签:

【中文标题】如何从刀片模板中的 Javascript 文件重定向 Laravel 路由【英文标题】:How to redirect Laravel route from Javascript file in blade template 【发布时间】:2019-08-28 02:01:48 【问题描述】:

我有一张处方表格并使用 AJAX 提交了表格。

现在我想在表单成功提交后自动从 AJAX 重定向到另一个路由。

我已经尝试了几个选项,例如

window.location.href = " url('/show-all-prescription') "

 route('/show-all-prescription')

AJAX 代码

jQuery.ajax(
url:" url('/submit_prescription') ",
type: 'GET',
data: name: name, age: age, mobile_no: mobile_no,
success:function(msg)

    if(msg>0)
    

        // window.location.href = " url('/show-all-prescription') ";

         route('/show-all-prescription')

    

);

得到了错误

路线 [/show-all-prescription] 未定义

route.php

Route::get('/show-all-prescription', 'prescriptionController@show_all_prescription');

但没有得到结果。有人帮忙吗?

【问题讨论】:

如果您的 JS 外部从刀片模板中加载或呈现? @paskl...刀片模板内 当你创建一个 JS 变量并将其值从刀片设置为路由路径时会发生什么?渲染模板中的 JS 变量是未定义还是值正确? @paskl...我已经更新了我的代码..请检查 【参考方案1】:

在路由文件中

Route::get('/show-all-prescription', 'prescriptionController@show_all_prescription')->name('show-all-prescription');

然后在刀片文件ajax请求中,

window.location.href = " route('show-all-prescription')";

【讨论】:

您也可以使用此答案中建议的路线,在您的 JS 文件中只需添加:window.location.href = "/show-all-prescription" 同样,您可以传递如下参数:window.location.href = "/show-all-prescription" + perscriptionVariable 同时将路线更新为:@987654325 @

以上是关于如何从刀片模板中的 Javascript 文件重定向 Laravel 路由的主要内容,如果未能解决你的问题,请参考以下文章

如何将数组数据从控制器发送到刀片并访问 javascript 变量中的数据

如何将数据从刀片传递到刀片文件

将 Vue 根实例中的 prop 传递到刀片模板文件中的组件中

如何从 laravel 刀片中的 json 数据创建分页链接

如何在我的刀片文件中使用我的 vue 组件中的选择

刀片模板不想从 Laravel 包中加载