bet*_*ers 1 httprequest svelte sveltekit
我有一个简单的 API 端点服务器函数,它模仿授权 POST 请求:
/** @type {import('./$types').RequestHandler} */
import { json, error } from '@sveltejs/kit'
export async function POST({ request }) {
const data = await request.json()
if (!data.username || !data.password) {
return error(400, 'Missing username or password.')
}
return json({ username: data.username, id: 1 })
}
Run Code Online (Sandbox Code Playgroud)
以及在以下位置使用此函数的表单+page.svelte:
async function login() {
const response = await fetch('/api/auth/login', {
method: 'POST',
body: JSON.stringify({
username,
password
})
})
const resJSON = await response.json()
console.log('Form submitted', resJSON)
}
Run Code Online (Sandbox Code Playgroud)
但我在终端中收到错误:Error: Invalid response from route /api/auth/login: handler should return a Response object。
我没有返回 json({}) 中的对象吗?
该函数error()不返回任何可返回的内容。事实上,它返回一个异常,你必须抛出这个异常,改变行
return error(400, 'Missing username or password.')
Run Code Online (Sandbox Code Playgroud)
对此
throw error(400, 'Missing username or password.')
Run Code Online (Sandbox Code Playgroud)
将解决您的问题
| 归档时间: |
|
| 查看次数: |
1421 次 |
| 最近记录: |