Laravel表格不发布

时间:2020-07-20 14:35:21

标签: php laravel

我正在尝试使表单执行POST请求,但是似乎并没有这样做...它带有错误

The GET method is not supported for this route. Supported methods: POST.

我不太确定为什么,我一直在尝试进行谷歌搜索,但是我还没有进行任何操作。这是我的代码。

Web.php

Route::post('/admin/products/view/{product}/edit', 'Admin\ProductController@edit')->name('admin.products.edit');

表格

<form method="POST"
    action="{{ route('admin.products.edit', ['product' => $product]) }}">
    @csrf
    <fieldset class="group-select">
        <ul>
            <li>
                <div class="input-box name-firstname">
                    <label><em class="required">*</em> Title</label>
                    <input type="text" name="product[title]"
                        value="{{ $product->title }}" class="input-text required-entry"
                        required>
                </div>
                <div class="input-box name-firstname">
                    <label>Name</label>
                    <input type="text" name="product[name]" value="{{ $product->name }}"
                        class="input-text" disabled>
                </div>
            </li>
            <li>
                <label><em class="required">*</em> Description</label>
                <textarea name="product[description]" class="input-text required-entry"
                    cols="5" rows="3" required>{{ $product->description }}
            </textarea>
            </li>
            <li>
                <label><em class="required">*</em> Allergies</label>
                <textarea name="product[allergies]" class="input-text required-entry"
                    cols="5" rows="3" required>{{ $product->allergies }}
            </textarea>
            </li>
            <li>
                <div class="input-box name-firstname">
                    <label><em class="required">*</em> Price £</label>
                    <input type="text" name="product[price]"
                        value="{{ $product->price }}" class="input-text required-entry"
                        required>
                </div>
                <div class="input-box name-firstname">
                    <label>Brand</label>
                    <select class="custom-select" name="product[name]">
                        <option selected>Choose...</option>
                        @foreach($brands as $brand)
                        <option value="{{$brand->id}}" @if($brand->id ==
                            $product->brand->id) selected @endif>{{ $brand->name}}
                        </option>
                        @endforeach
                    </select>
                </div>
            </li>
        </ul>
    </fieldset>
    <div class="buttons-set">
        <button type="submit" class="button submit">Save</button>
    </div>
</form>

我认为这可能与路由有关,但是即使手动将URL放入表单中,它仍然存在相同的错误。另外,当我查看正在发送的数据时,它没有发布表单数据...我不确定这是否与我的表单或控制器有关。我希望对此有所帮助!

2 个答案:

答案 0 :(得分:0)

我发现了问题所在,方法是保留日志并检查网络数据,我发现它在成功发布数据后正在重定向。我检查了控制器,发现我使用了错误的路由名称,并将其重定向到其自身。谢谢大家的帮助:)

答案 1 :(得分:0)

为什么在您张贴表格的路线中需要$ product?