Php 我如何在laravel中使用按钮确定正确的路线

Php 我如何在laravel中使用按钮确定正确的路线,php,laravel,Php,Laravel,我有show.blade.php和share.blade.php按钮 @extends('layouts.app') @section('content') <div class="container"> <form method="post" action="/student/share-approval/{{$approval->uniid}}"> @csrf <p> Hello Trst show page , I

我有show.blade.php和share.blade.php按钮

@extends('layouts.app')
@section('content')

<div class="container">
    <form method="post" action="/student/share-approval/{{$approval->uniid}}">
     @csrf
      <p> Hello  Trst show page , If you click share butoon should show the share page</p><br>
        <button type="submit" class="btn btn-primary"> share </button>
     </body>
    </form>
  </div>
@endsection
这是我的show.blade.php

@extends('layouts.app')
@section('content')

<div class="container">
    <form method="post" action="/student/share-approval/{{$approval->uniid}}">
     @csrf
      <p> Hello  Trst show page , If you click share butoon should show the share page</p><br>
        <button type="submit" class="btn btn-primary"> share </button>
     </body>
    </form>
  </div>
@endsection
这是我在StudentController中的函数

 public function showapproval($uniid)
{
  $approval = Student :: where ('uniid', $uniid)->firstOrFail();
   return view('ApprovalStudent.Request.show',compact('approval'));
}
   public function shareapproval($uniid)
   {
   $approval = Student :: where ('uniid', $uniid)->firstOrFail();
   return view('SendEmail.Request.share',compact('approval'));
   }
错误为(Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
无消息)

将方法更改为
post

  Route::post('/student/share','StudentController@shareapproval');
  Route::get('/student/show-approval/{uniid}','StudentController@showapproval');
  Route::post('/student/share-approval/{uniid}', 'StudentController@shareapproval');

将方法更改为
post

  Route::post('/student/share','StudentController@shareapproval');
  Route::get('/student/show-approval/{uniid}','StudentController@showapproval');
  Route::post('/student/share-approval/{uniid}', 'StudentController@shareapproval');

As方法是本表中的post

<form method="post" action="/student/share-approval/{{$approval->uniid}}">
并在控制器中捕获请求

Route::post('/student/show-approval/{uniid}','StudentController@showapproval');
public function showapproval(Request $request,$uniid)
{

  $approval = Student :: where ('uniid', $uniid)->firstOrFail();
   return view('ApprovalStudent.Request.show',compact('approval'));
}
正如好习惯一样,在行动中使用url()

<form action="{{url('/')}}/student/share-approval/{{$approval->uniid}}">

作为方法在本表中是发布

<form method="post" action="/student/share-approval/{{$approval->uniid}}">
并在控制器中捕获请求

Route::post('/student/show-approval/{uniid}','StudentController@showapproval');
public function showapproval(Request $request,$uniid)
{

  $approval = Student :: where ('uniid', $uniid)->firstOrFail();
   return view('ApprovalStudent.Request.show',compact('approval'));
}
正如好习惯一样,在行动中使用url()

<form action="{{url('/')}}/student/share-approval/{{$approval->uniid}}">


尝试更改路线<代码>路线::post('/student/share','StudentController@shareapproval'); 路由::获取('/student/show approval/{uniid}','StudentController@showapproval'); 路由::get('/student/share approval/{uniid}','StudentController@shareapproval');到<代码>路线::任意('/student/share','StudentController@shareapproval'); 路线::任何('/student/show approval/{uniid}','StudentController@showapproval'); 路由::任何('/student/share approval/{uniid}','StudentController@shareapproval');并让我知道它是否有效如果您想将数据发布到路由(如表单),请将路由定义为
route::post()
而不是
route::get()
。我将其设置为此路由::any('/student/share','StudentController@shareapproval'); 路线::任何('/student/show approval/{uniid}','StudentController@showapproval'); 路线::post('/student/share approval/{uniid}','StudentController@shareapproval'); 因为共享pafe有通过电子邮件发送的表单。。。。谢谢,不过要小心,不要简单地使用Route::any。我把它作为调试的一个例子。现在你知道了问题的前两条路线,根据之前没有的路线将其更改为post/get<代码>路线::post('/student/share','StudentController@shareapproval'); 路由::获取('/student/show approval/{uniid}','StudentController@showapproval'); 路由::get('/student/share approval/{uniid}','StudentController@shareapproval');到<代码>路线::任意('/student/share','StudentController@shareapproval'); 路线::任何('/student/show approval/{uniid}','StudentController@showapproval'); 路由::任何('/student/share approval/{uniid}','StudentController@shareapproval');并让我知道它是否有效如果您想将数据发布到路由(如表单),请将路由定义为
route::post()
而不是
route::get()
。我将其设置为此路由::any('/student/share','StudentController@shareapproval'); 路线::任何('/student/show approval/{uniid}','StudentController@showapproval'); 路线::post('/student/share approval/{uniid}','StudentController@shareapproval'); 因为共享pafe有通过电子邮件发送的表单。。。。谢谢,不过要小心,不要简单地使用Route::any。我把它作为调试的一个例子。现在您已经知道了问题的前两条路线,根据之前没有的内容将其更改为post/get。