【问题标题】:Laravel 5.4 - Use Controller Route in javascript functionLaravel 5.4 - 在 javascript 函数中使用控制器路由
【发布时间】:2017-08-24 22:29:56
【问题描述】:

我有一个表(数据表),我有一个编辑图标,我想用参数调用一个路由。

我的功能目前是

function editItem(id)
    {
        //alert(id);
    }

我想做的就是打电话

UsersController@editItem

并将 id 传递给控制器​​。

我有点卡住了!

【问题讨论】:

    标签: javascript laravel-5 datatables


    【解决方案1】:

    您将服务器端逻辑与客户端逻辑混淆了。您要调用的控制器方法是在客户端逻辑中不存在的服务器端组件。

    您应该将路由定义传递给 JS,并使用 AJAX(jquery 或 axios 是您的朋友)调用此 url,并以异步方式从服务器读取响应。

    我尝试用一​​些示例代码来解释:

    //routes.php
    Route::get('/edit', [
      'uses' => 'UsersController@editItem',
      'as' => 'edit-item'
    ]);
    
    //blade file
    <script>
    window.routes = {
      editItem: "{{ route('edit-item') }}",
    }
    function editItem(id)
    {
      $.post(window.routes.editItem, { id: id }).then(function(response) {
        console.log(response);
      });
    }    
    </script>
    

    【讨论】:

    • 我有点困惑,因为我希望将用户带到将在控制器函数中定义的编辑页面。
    • 所以你需要将用户重定向到路由。你应该将路由从 PHP 传递到 Javascript,然后 document.location = window.routes.editItem
    • 你能不能给我一些示例代码。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2017-11-21
    • 2017-12-04
    • 2014-03-05
    • 2018-03-27
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多