簡體   English   中英

Laravel中不允許使用奇怪的405方法

[英]Weird 405 Method Not Allowed in Laravel

我有一個用於創建包含電子郵件,名稱和密碼輸入的用戶的表單。 該表格還為用戶地址提供了5個輸入(addr1-5)。

提交未填寫地址字段的表單效果很好,並創建了用戶。

但是,如果填寫地址字段,則會顯示405 Method Not Allowed響應中斷。

路線:

Route::group(['prefix' => '/users'], function () {
    Route::post('/create', [
        'uses' => 'UserController@create',
        'as' => 'api_create_user',
    ]);
});

形成:

<form action="{{ route('api_create_user') }}" method="POST">
    ...
    <input type="text" name="addr1">
    <input type="text" name="addr2">
    <input type="text" name="addr3">
    <input type="text" name="addr4">
    <input type="text" name="addr5">
    ...
</form>

控制器:

class UserController extends Controller {
    ...
    public function create (RegisterRequest $request) {
        ...
        $address = [
            'addr1' => $request->input('addr1') ?? '',
            'addr2' => $request->input('addr2') ?? '',
            'addr3' => $request->input('addr3') ?? '',
            'addr4' => $request->input('addr4') ?? '',
            'addr5' => $request->input('addr5') ?? '',
        ];

        $address = (object)array_filter($address);

    $user->address = $address;

        ...
    }
}

RegisterRequest:

class RegisterRequest extends FormRequest {
    ...
    public function rules () : array {
        return array(
        ...
        'addr1' => 'nullable|string',
        'addr2' => 'nullable|string',
        'addr3' => 'nullable|string',
        'addr4' => 'nullable|string',
        'addr5' => 'nullable|string',
        ...
    );
    }
    ...
}

我真的無法解決問題所在。 這顯然不是語法,我肯定會導入正確的類等。

有任何想法嗎?

謝謝!

也許您忘記了{{method_field('POST')}}

https://laravel.com/docs/5.4/routing#form-method-spoofing

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM