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>
在浏览器中进行客户端导航时,useRequestFetch 的行为与常规的 $fetch 相同。