by Devin Yang

建立於: 7年前 ( 更新: 7年前 )

為何Laravel需要有Form Method Spoofing呢?
因為HTML表單並不支援PUTPATCHDELETE動作,因此在Laravel
在提交HTML表單送出時,我們需要透過一個隱藏的_method輸入欄,作為HTTP的請求發送。
這樣Laravel的Restful風格路由才可以知道這個請求是PUT還是PATCH...等。

Laravel 5.5版前,表單可使用埋入兩個隱藏input欄位:
<form action="/foo/bar" method="POST">
    <input type="hidden" name="_method" value="PUT">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>
或是
<form action="/foo/bar" method="POST">
    {{ method_field('PUT') }}
    {{ csrf_field() }}
</form>
Laravel 5.6版後,我們也可以透過Blade directive達到相同的效果:
<form action="/foo/bar" method="POST">
    @method('PUT')
    @csrf
</form>

 

Tags: laravel

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


dlaravel

如何設定外網IP給D-Laravel上的Project?

這個影片介紹了在D-Laravel環境上,我們如何指定Public Ip(公有IP)給特定的Project的使用。 不論是外部Production環境的設定或是內網自己專案Demo時,都可參考此影片的設定方式哦 。 在影片中雖然我採用了PPPoE撥接的外網IP進行說明,但是我們改變一下也可以用自己電腦上的區網IP。 這樣就可以讓同事連到我們的D-Laravel的Project了。

laravel,blade

Laravel 5.5 make:model的-a參數及Blade套版chunk功能介紹

不了解什麼是make:model -a參數嗎,這個影片將簡單介紹,實際操作過程, 並使用Blade套版中的chunk功能結尾。

laravel,laravel livewire

Laravel livewire檔案上傳展示

Livewire是一個給Laravel框架使用的全端框架。我第一次寫code,能寫到邊寫邊讚嘆神奇大概就是他了,我同事被我推坑後也是邊寫邊讚嘆。以前初學Vue時,也沒有他來的讓我如此驚奇。