【问题标题】:MethodNotAllowedHttpException on form submit表单提交时出现 MethodNotAllowedHttpException
【发布时间】:2018-10-22 12:07:04
【问题描述】:

我的表单有问题::open with laravel 5.5 我收到错误

Symfony\Component\HttpKernel\Exception\ MethodNotAllowedHttpException 无消息

这是我的地址控制器

public function store(Request $request)
{
    $this->validate($request,[
        'addressline'=>'required',
        'city'=>'required',
        'state'=>'required',
        'zip'=>'required|integer',
        'phone'=>'required|integer',
    ]);

    Auth::user()->address()->create($request->all());

    return redirect()->route('checkout.payment');
}

这是我的路线

Route::get('payment','CheckoutController@payment')->name('checkout.payment');

。 这是我的 shipping-info.blade.php

   @extends('layouts.main')

@section('content')
    <br>
<div class="row">
    <div class="small-6 small-centered columns">
        <h3>Shipping Info</h3>

        {!! Form::open(array('action' => 'checkout.payment', 'method' => 'POST')) !!}


   .....

 {{ Form::submit('Proceed to Payment', array('class' => 'button success')) }}
    {!! Form::close() !!}

当我提交按钮代码时.. 上面的错误.. 怎么了?

【问题讨论】:

  • 您发布的控制器方法与问题的其余部分无关。您发布到的路线是发布到名为payment 的方法,您发布了方法store

标签: laravel


【解决方案1】:

在您的路线中定义了 GET 方法

Route::get('payment','CheckoutController@payment')->name('checkout.payment');

但您是作为 POST 方法发布的。

所以请改一下

Route::post('payment','CheckoutController@payment')->name('checkout.payment');

然后就可以了。

【讨论】:

    【解决方案2】:

    使用

    Route::post('payment','CheckoutController@payment')->name('checkout.payment');
    

    插入

    Route::get('payment','CheckoutController@payment')->name('checkout.payment');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-28
      • 2015-09-16
      • 2021-06-15
      • 1970-01-01
      • 2015-08-26
      • 2018-01-02
      • 1970-01-01
      相关资源
      最近更新 更多