
sveltekit 默认不将 `/api` 视为特殊路由前缀,若直接访问 `/api/login` 但未正确配置路由映射,会因无匹配的 get 处理器而返回 405;根本解法是避免依赖 `/api` 路径约定,改用标准文件系统路由或显式重定向。
在 SvelteKit 中,/api 并非内置的 API 路由根路径——它只是一个普通文件夹名,没有任何框架级语义。当你创建 src/routes/api/login/+server.ts 时,SvelteKit 实际注册的路由是 /api/login(完整路径),但该路由是否响应 POST 请求,完全取决于你是否在 +server.ts 中正确定义了 POST 处理器,且客户端请求必须精确匹配该路径与方法。
然而,你遇到的 405 Method Not Allowed(GET not allowed)错误,往往暴露一个关键事实:客户端实际发起的是 GET 请求,而非 POST。这通常由以下原因导致:
✅ 最常见原因:HTML 表单默认提交为 GET
如果你在









