1. Trường CSRF (CSRF field) (ok)

1. Trường CSRF (CSRF field)

Bạn còn nhớ vấn đề ở tập Routing chứ, chúng ta không thể truy cập route với phương thức POST, cũng như là PUT, DELETE... vì thiếu CSRF field này. Vì vậy khi khởi tạo một HTML form thì chúng ta phải khái báo CSRF field thông qua thẻ @csrf.

Giờ mình sẽ tạo blade view home với nội dung sau:

<form method="POST" action="/post">
    @csrf
    
    <input type="submit" value="Send post">
</form>

Form này sẽ gửi một request với method POST với URI /post khi submit.

Sau đó các bạn đăng ký hai route này trong routes/web.php:

Route::get('/', function () {
    return view('home');
});

Route::post('/post', function() {
    return 'Posted';
});

Với route đầu tiên thì sẽ render view chứa form của chúng ta. Còn route thứ hai mang phương thức POST sẽ được gọi khi chúng ta click vào nút "Send post".

Bây giờ ta hãy thử truy cập đường dẫn http://localhost:8000 và F12 lên để xem source HTML của form vừa tạo.

@csrf đã tạo một input hidden với name là _token và value chứa CSRF token, có field này chắc chắn ta sẽ gửi được request với method POST. Việc cuối cùng là click vào nút "Send post" thôi.

Last updated