在我的 SvelteKit 应用程序中,我有一个使用表单操作的表单:
<form action="/login?/logout" method="POST">
<button type="submit">Logout</button>
</form>
Run Code Online (Sandbox Code Playgroud)
在此操作中,最后一步是重定向:
export const actions: Actions = {
logout: async (event) => {
// ...
throw redirect(307, '/login');
}
}
Run Code Online (Sandbox Code Playgroud)
这按我的预期进行。更新到 SvelteKit 1.0.0 后,行为发生了变化:该操作被调用(像以前一样),但在重定向时出现以下错误:
错误:未找到名称为“default”的操作
有什么想法需要改变或者应该如何做?
Tho*_*lle 15
状态码307不会改变请求的方法和正文,因此浏览器会尝试POST /login。
您可以将状态代码更改为,303而不是将方法更改为GET:
export const actions: Actions = {
logout: async (event) => {
// ...
throw redirect(303, '/login');
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6677 次 |
| 最近记录: |