You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SvelteKit页面加载时代码无法执行,求解决方案

问题解决步骤

你的代码存在几个关键问题,导致无法正常执行,修正方案如下:

核心问题及修正

  • redirect调用方式错误:SvelteKit服务端的load函数中,必须通过throw抛出redirect,而非直接调用。
  • 状态码选择错误:300是"多重选择"状态码,不适合常规重定向,建议使用303(POST/DELETE操作后重定向)或302(临时重定向)。
  • 类型注解不匹配:+page.server.ts中的load函数对应类型应为PageServerLoad,而非客户端的PageLoad。
  • Cookie删除参数可能缺失:如果设置session Cookie时指定了domain、secure、sameSite等参数,删除时必须完全匹配,否则删除操作会失败。

修正后的代码

import { redirect } from "@sveltejs/kit";

/** @type {import('./$types').PageServerLoad} */
export const load = async ({ cookies }) => {
    // 若设置Cookie时使用了额外参数(如domain、secure),需在此处补充
    cookies.delete('session', { 
        path: '/'
        // 示例:根据实际Cookie配置添加
        // domain: 'your-domain.com',
        // secure: true,
        // sameSite: 'strict'
    });
    throw redirect(303, '/');
};

额外注意事项

  • 务必将代码放在+page.server.ts中:修改Cookie(尤其是HttpOnly类型的session Cookie)和服务端重定向属于服务端逻辑,客户端+page.ts无法完成这类操作。
  • 验证Cookie参数:打开浏览器开发者工具的「Application」面板,查看session Cookie的完整参数,确保删除时的参数与设置时完全一致。

内容的提问来源于stack exchange,提问作者fuckthisshit838

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 03:30:06