php - 错误 405(不允许的方法)Laravel 5

标签 php jquery laravel laravel-5

我正在尝试使用 jQuery 进行 POST 请求,但我收到错误 405(不允许的方法),我正在使用 Laravel 5

这是我的代码:

jQuery

<script type="text/javascript">
    $(document).ready(function () {
        $('.delete').click(function (e){
            e.preventDefault();
            var row = $(this).parents('tr');
            var id = row.data('id');
            var form = $('#formDelete');
            var url = form.attr('action').replace(':USER_ID', id);
            var data = form.serialize();
            $.post(url, data, function (result){
                alert(result);
            });
        });
    });
    </script>

HTML

{!! Form::open(['route' => ['companiesDelete', ':USER_ID'], 'method' =>'DELETE', 'id' => 'formDelete']) !!}

    {!!Form::close() !!}

Controller

public function delete($id, \Request $request){
        return $id;
    }

Jquery 错误是 http://localhost/laravel5.1/public/empresas/eliminar/5 405(不允许的方法)。

url值为

http://localhost/laravel5.1/public/empresas/eliminar/5

数据值为

_method=DELETE&_token=pCETpf1jDT1rY615o62W0UK7hs3UnTNm1t0vmIRZ.

如果我更改为 $.get 请求,它可以正常工作,但我想做一个发布请求。

谁能帮帮我?

谢谢。

编辑!!

路线

Route::post('empresas/eliminar/{id}', ['as' => 'companiesDelete', 'uses' => 'CompaniesController@delete']);

最佳答案

methodNotAllowed 异常表示您请求的 HTTP 方法不存在路由。

您的表单设置为发出 DELETE 请求,因此您的路线需要使用 Route::delete() 来接收此请求。

Route::delete('empresas/eliminar/{id}', [
        'as' => 'companiesDelete',
        'uses' => 'CompaniesController@delete'
]);

关于php - 错误 405(不允许的方法)Laravel 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31622818/

相关文章:

javascript - Jquery height()滚动问题

laravel - 向 Eloquent Collection 添加新属性

javascript - 两个下拉列表并用PHP保存在数据库中

javascript - HTML 列表 : How can I count the number elemnts retrieved in the list

php - nginx/fastcgi 504 网关错误,增加 fastcgi_read_timeout 没有帮助

jquery - 使用哪个 JQuery 图表库进行多重绘图?

php - 在 Laravel 邮件中设置主题变量

php - IPN 未发送,握手未验证

php - MySql:需要提高查询性能

php - 使用 PHP 显示表格