useRequestFetch

源文件
使用 useRequestFetch 可组合函数为服务端 fetch 请求转发请求上下文和标头。

当执行服务端 fetch 请求时,你可以使用 useRequestFetch 来转发请求上下文和标头。

当在客户端进行 fetch 请求时,浏览器会自动发送必要的标头。然而,在服务端渲染过程中发起请求时,出于安全考虑,我们需要手动转发标头。

不应被转发的标头将不会包含在请求中。这些标头包括:transfer-encodingconnectionkeep-aliveupgradeexpecthostaccept
useFetch 可组合函数在底层使用了 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>
在浏览器端的客户端导航期间,useRequestFetch 的行为将与常规的 $fetch 完全一致。