useRequestFetch
使用 useRequestFetch 可組合項,轉發用於伺服器端 fetch 請求的請求上下文和頭部。
您可以使用 useRequestFetch
在進行伺服器端 fetch 請求時轉發請求上下文和頭部。
當進行客戶端 fetch 請求時,瀏覽器會自動傳送必要的頭部。然而,在伺服器端渲染期間進行請求時,出於安全考慮,我們需要手動轉發頭部。
不應轉發的頭部將不會包含在請求中。這些頭部包括,例如:
transfer-encoding
、connection
、keep-alive
、upgrade
、expect
、host
、accept
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(() => $fetch('/api/cookies'))
</script>
export default defineEventHandler((event) => {
const cookies = parseCookies(event)
return { cookies }
})
在瀏覽器中的客戶端導航期間,
useRequestFetch
的行為將與常規的 $fetch
相同。