1. Redirections
Parfois, vous pouvez avoir besoin de faire des redirections en fonction de certaines informations.
Pour cela, SvelteKit met à votre disposition un utilitaire redirect à importer depuis le module
@sveltejs/kit. Vous pouvez utiliser cette fonction dans les fonctions load, dans les actions
de formulaire des fichiers +page.server.ts, ou dans les fonctions de endpoint des fichiers
+server.ts.
// +page.server.ts de la route /user par exemple
import { redirect } from '@sveltejs/kit';
export function load() {
// on suppose qu'on récupère des données sur l'utilisateur dans la variable `connected`
if (!connected) {
redirect(307, '/');
}
return {};
}
Vous devez fournir 2 choses à redirect:
- un code d'erreur (généralement
301,302,307ou308) - une URL cible
Utiliser
redirect()revient à utiliserthrow.
Notez que ces redirections sont des redirections serveur : la redirection se fait avant d'atteindre le navigateur. Il est également possible de rediriger depuis le routeur client (c'est-à-dire depuis le navigateur), mais il faut utiliser une autre méthode :
goto.