如何从 js 文件调用 Laravel 路由

Posted

技术标签:

【中文标题】如何从 js 文件调用 Laravel 路由【英文标题】:How to Call Laravel Route From js File 【发布时间】:2016-07-17 03:32:39 【问题描述】:

我正在从我的 laravel 刀片视图中进行 ajax 调用,如下所示:

function deleteUser(user_id)

    $.ajax(
        url: '!! route('users.delete', ['id' => user_id]) !!',
        type: 'DELETE',
        data: _token: '!! csrf_token() !!',
        dataType: 'JSON',
        success: function (data) 
            console.log(data);
        
    );

在我的 routes.php 文件中我定义了路由:

//routes.php
Route::delete('users/id/delete', 'UserController@delete')->name('users.delete');

我只是在刷新页面的地方发生了错误:

Use of undefined constant user_id- assumed 'user_id'

我意识到 user_id 参数是通过错误的方式注入到 javascript 块内的 route() 方法中的。

有没有办法在laravel的route方法里面的ajax调用的url中注入参数?

【问题讨论】:

【参考方案1】:

你不能在你的 JS 中使用 Laravel 助手,除非你的 JS 代码是动态构建的(这是个坏主意)。因此,只需使用手动构建的 URL。

url: 'users/145/delete',

【讨论】:

【参考方案2】:

你可以尝试这样做'url("users/$user->id/delete")';你的路线会选择它并重定向到它需要去的地方

【讨论】:

以上是关于如何从 js 文件调用 Laravel 路由的主要内容,如果未能解决你的问题,请参考以下文章

如何从 ReactJS 组件调用 Laravel Api 路由?

如何将数据从 laravel 传递到 Vue Router?

从 laravel 调用 HTTPS 请求到外部 API

来自 Vue.js 的 Laravel API 调用导致 GET 路由的 CORS

AJAX 调用的 Laravel 路由无法正常工作

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