Nuxt 3 已于 31 July 2026 结束生命周期
此版本将不再接收错误修复或安全补丁。 升级到 Nuxt 4 或获取 HeroDevs 提供的延长支持
useRequestFetch
使用 useRequestFetch 组合函数在服务器端进行 fetch 请求时转发请求上下文和头信息。
Maschinelle Übersetzung ·0 % geprüft
你可以使用 useRequestFetch 在服务器端进行 fetch 请求时转发请求上下文和头信息。
在进行客户端 fetch 请求时,浏览器会自动发送必要的头信息。 但是,在服务器端渲染期间发起请求时,出于安全考虑,我们需要手动转发头信息。
不应转发的头信息不会包含在请求中。这些头信息例如包括:
transfer-encoding、connection、keep-alive、upgrade、expect、host、acceptuseFetch 组合函数在内部使用 useRequestFetch,以自动转发请求上下文和头信息。<script setup lang="ts">
// 这会将用户的头信息转发到 `/api/cookies` 事件处理器
// 结果:{ cookies: { foo: 'bar' } }
const requestFetch = useRequestFetch()
const { data: forwarded } = await useAsyncData(() => requestFetch('/api/cookies'))
// 这不会转发任何信息
// 结果:{ cookies: {} }
const { data: notForwarded } = await useAsyncData((_nuxtApp, { signal }) => $fetch('/api/cookies', { signal }))
</script>export default defineEventHandler((event) => {
const cookies = parseCookies(event)
return { cookies }
})在浏览器中进行客户端导航时,
useRequestFetch 的行为与常规 $fetch 一样。