Laravel 此路由不支持GET方法。支持的方法:补丁。进行更新时

Laravel 此路由不支持GET方法。支持的方法:补丁。进行更新时,laravel,laravel-5,Laravel,Laravel 5,我想提交更新数据,我已经使用了patch方法,但它一直告诉我get方法不受支持 编辑表单edit.info.blade <form action="{{ route('info.update', ['info' => $info->id]) }}" method="patch" enctype="multipart/form-data"> <input type="hidden" name="_method" value="patch">

我想提交更新数据,我已经使用了
patch
方法,但它一直告诉我
get方法不受支持

编辑表单edit.info.blade

 <form action="{{ route('info.update', ['info' => $info->id]) }}" method="patch" enctype="multipart/form-data">
     <input type="hidden" name="_method" value="patch">
     <input type="hidden" name="_token" value="{{ csrf_token() }}">
下面是更新逻辑的示例 InfosController

public function update(Request $request, Info $info) {
    Info::where('id', $info->id)->update([
        'judul' => $request->judul,
        'konten' => $request->konten,
        'image' => $request->image,
    ]);
    return redirect('')->route('admin.info-admin')->with('success', 'Successful');
}

我做错了什么?

您必须将方法更改为
POST
。因为在某些浏览器中不支持PUT/PATCH

 <form action="{{ route('info.update', ['info' => $info->id]) }}" method="post" enctype="multipart/form-data">

           <input type="hidden" name="_method" value="patch">
            <input type="hidden" name="_token" value="{{ csrf_token() }}">

您必须将方法更改为
POST
。因为在某些浏览器中不支持PUT/PATCH

 <form action="{{ route('info.update', ['info' => $info->id]) }}" method="post" enctype="multipart/form-data">

           <input type="hidden" name="_method" value="patch">
            <input type="hidden" name="_token" value="{{ csrf_token() }}">

HTML5表单仅支持
GET
POST
对话框
方法。所以使用
补丁
是行不通的

您必须将其添加到from中

<form action="{{ route('info.update', ['info' => $info->id]) }}" method="POST" enctype="multipart/form-data">
@csrf
@method('PATCH')

@csrf
@方法('补丁')

这将帮助您理解表单方法。

HTML5表单仅支持
GET
POST
对话框
方法。所以使用
补丁
是行不通的

您必须将其添加到from中

<form action="{{ route('info.update', ['info' => $info->id]) }}" method="POST" enctype="multipart/form-data">
@csrf
@method('PATCH')

@csrf
@方法('补丁')

这将帮助您理解表单方法。

现在我得到了对未定义方法illumb\Http\RedirectResponse::route()@的
调用,协调它是因为`return redirect()`您将一个空字符串传递给redirect methoda它已经被修复了,只需要将它更改为
return redirect('/info admin')->('success','Successful')
现在我得到了对undefined方法illumb\Http\RedirectResponse::route()
@的调用,协调它是因为'return redirect()'您将一个空字符串传递给redirect methoda它已经被修复了,只需要将它改为
return redirect('/info admin')->('success','Successful'))
这就像alravel试图将其方法强制添加到我们的浏览器中一样,嗯?不,它们都是HTTP方法。但浏览器只支持那些提交表单的方法。我明白了,我现在明白了,所以就像alravel试图将其方法强制添加到我们的浏览器中一样,嗯?不,它们都是HTTP方法。但浏览器只支持那些提交表单的方法给我一张表格。我明白了,我现在明白了