对于表单,此路由不支持 GET 方法

我已经设置了在表单中插入数据的 POST 方法。我也在 web.php 中设置了 POST 方法。但每当我想通过表单插入数据时,它都会显示不支持 Get 方法。但我在表单和路由中都写了POST方法。这是我的代码:


形式:


<form action="{{url('/admin/prescription/store')}}" method="POST"> 

@csrf


Route::post('/admin/prescription/store','prescriptionController@store')->name('prescription.store');

控制器:


public function store(Request $request)

{

    $prescription = new Prescription();

    $prescription->full_name = $request->full_name;

    $prescription->nid = $request->nid;

    $prescription->address = $request->address;

    $prescription->contactNum = $request->contactNum;

    $prescription->health_cond = $request->health_cond;

    $prescription->desc = $request->desc;

    $prescription->save();

     

    return redirect()

        ->route('prescription.store')

        ->with('success','Prescription added Successfully.');

 }


慕斯709654
浏览 86回答 3
3回答

炎炎设计

这是因为您重定向到了帖子路线。重定向就像 get 请求一样。

阿波罗的战车

这是因为你在 store() 中重定向,你应该重定向到 get 路由

慕容3067478

要对两种类型的请求使用同一条路由,您可以执行以下操作:Route::match(['GET',&nbsp;'POST'],'/admin/prescription/store',&nbsp;'ExampleController@store');
打开App,查看更多内容
随时随地看视频慕课网APP