useRequestFetch
使用 useRequestFetch 组合函数转发请求上下文和服务器端 fetch 请求的头信息。
你可以使用 useRequestFetch
在进行服务器端 fetch 请求时转发请求上下文和头信息。
在进行客户端 fetch 请求时,浏览器会自动发送必要的头信息。 然而,在服务器端渲染期间进行请求时,由于安全考虑,我们需要手动转发头信息。
不应转发 的头信息将不会包含在请求中。这些头信息包括,例如:
transfer-encoding
, connection
, keep-alive
, upgrade
, expect
, host
, accept
useFetch
组合函数在内部使用 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(() => $fetch('/api/cookies'))
</script>
export default defineEventHandler((event) => {
const cookies = parseCookies(event)
return { cookies }
})
在浏览器进行客户端导航时,
useRequestFetch
的行为与常规的 $fetch
完全相同。