SvelteKit:如何阻止表单500错误触发的页面重定向?
阻止SvelteKit表单错误自动重定向的方法
在
use:enhance的自定义回调中捕获错误并返回false,即可阻止默认的错误页重定向行为。示例代码如下:<form method="POST" use:enhance={async ({ result, update }) => { if (result.type === 'error') { // 自定义错误处理逻辑,比如渲染页面内的错误提示 console.error('表单提交出错:', result.error); // 返回false阻止默认重定向 return false; } await update(); }}> <!-- 表单元素 --> </form>确保服务端action抛出的是SvelteKit提供的
error对象,而非普通Error:import { error } from '@sveltejs/kit'; export const actions = { default: async ({ request }) => { // 模拟抛出500错误 throw error(500, '服务器内部处理失败'); } };这种针对性的回调处理比全局拦截更灵活,不会影响其他页面的错误处理逻辑。
内容的提问来源于stack exchange,提问作者Tadas V.
相关产品推荐
相关产品推荐

