PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-Laravel异常405 MethodNotAllowed大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我试在程序中创建一个新的“空降”测试,并得到405 MethodNotAllowed异常.

路线

Route::post('/tesTing/{iD}/airbornes/create', [
    'uses' => 'AirborneController@create'
]);

控制者

public function create(request $request, $id)
{
    $airborne = new Airborne;

    $newairborne = $airborne->newAirborne($request, $id);

    return redirect('/tesTing/' . $id . '/airbornes/' . $newairbornE)->with(['id' => $id, 'airbornEID' => $newairborne]);
}

视图

<form class="sisform" role="form" method="POST" href="{{ URL::to('AirborneController@create', $id) }}">
    {{ csrf_field() }}
    {!! Form::token(); !!}
    <button type="submit" name="submit" value="submit" class="btn btn-success">
        <i class="fas fa-plus fa-sm"></i> Create
    </button>
</form>
@H_674_23@解决方法:

据我所知,表格没有href属性.我想您应该写Action但写href.
请以您要提交的形式指定操作属性.

<form method="<POST or get>" action="<to which URL you want to submit the form>">

你的情况下

<form method="POST" ></form>

并且缺少动作属性.如果缺少动作属性或将其设置为“”(空字符串),则表单将提交给自己(相同的URL).

例如,您已经定义了将表单显示为的路线

Route::get('/airbornes/show', [
    'uses' => 'AirborneController@show'
    'as' => 'airborne.show'
]);

然后您提交一个没有动作属性的表单.它将把表单提交到当前所在的相同路径,并且它将寻找具有相同路径的post方法,但是使用POST方法则没有相同的路径.因此您将获得MethodNotAllowed异常.

使用post方法定义相同的路由,或者显式指定HTML表单标签的action属性.

假设您的路线定义如下,将表单提交给

Route::post('/airbornes/create', [
        'uses' => 'AirborneController@create'
        'as' => 'airborne.create'
    ]);

所以你的表单标签应该像

<form method="POST" action="{{ route('airborne.create') }}">
//your HTML here
</form>

大佬总结

以上是大佬教程为你收集整理的php-Laravel异常405 MethodNotAllowed全部内容,希望文章能够帮你解决php-Laravel异常405 MethodNotAllowed所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: