useRequestFetch
使用 useRequestFetch 组合式函数为服务器端 fetch 请求转发请求上下文和请求头。
您可以在发起服务器端 fetch 请求时使用 useRequestFetch 来转发请求上下文和请求头。
当发起客户端 fetch 请求时,浏览器会自动发送必要的请求头。然而,当在服务器端渲染期间发起请求时,出于安全考虑,我们需要手动转发请求头。
不应被转发的请求头将不会包含在请求中。这些请求头例如包括:
transfer-encoding, connection, keep-alive, upgrade, expect, host, acceptuseFetch 组合式函数在底层使用 useRequestFetch 来自动转发请求上下文和请求头。<script setup lang="ts">
// This will forward the user's headers to the `/api/cookies` event handler
// Result: { cookies: { foo: 'bar' } }
const requestFetch = useRequestFetch()
const { data: forwarded } = await useAsyncData(() => requestFetch('/api/cookies'))
// This will NOT forward anything
// Result: { 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 完全相同。