Skip to main content
Đây là tài liệu Inertia.js v1, phiên bản không còn được duy trì tích cực. Vui lòng tham khảo tài liệu v3.
Khi thực hiện request Inertia không phải GET theo cách thủ công hoặc thông qua phần tử <Link>, bạn cần đảm bảo luôn phản hồi bằng một response redirect Inertia hợp lệ. Ví dụ, nếu controller đang tạo người dùng mới, endpoint “store” nên trả về redirect về một endpoint GET thông thường, chẳng hạn trang “index” người dùng. Inertia sẽ tự động đi theo redirect này và cập nhật trang tương ứng.

Mã response 303

Khi redirect sau request PUT, PATCH hoặc DELETE, bạn phải dùng mã response 303; nếu không, request tiếp theo sẽ không được xử lý như request GET. Redirect 303 rất giống redirect 302; tuy nhiên, request tiếp theo được chuyển rõ ràng thành request GET. Nếu đang dùng một trong các adapter phía máy chủ chính thức của Inertia, mọi redirect sẽ tự động được chuyển thành redirect 303.

Redirect ra bên ngoài

Đôi khi, trong lúc xử lý request Inertia, bạn cần redirect đến một website bên ngoài hoặc thậm chí một endpoint không dùng Inertia khác trong ứng dụng. Bạn có thể thực hiện việc này bằng một lần truy cập window.location được khởi tạo từ phía máy chủ thông qua phương thức Inertia::location().
Phương thức Inertia::location() sẽ tạo response 409 Conflict và đặt URL đích trong header X-Inertia-Location. Khi phía client nhận được response này, Inertia sẽ tự động thực hiện truy cập bằng window.location = url.

Tài liệu chính thức

Bài dịch này được đối chiếu từ tài liệu Inertia.js v1 chính thức. Nếu có khác biệt do phiên bản hoặc cập nhật mới, hãy ưu tiên tài liệu chính thức làm nguồn tham chiếu.