getRequestEvent
编辑此页面Solid 使用异步本地存储作为在服务器上任何位置注入请求上下文的方式。
服务器提供了一个工具函数来访问这个上下文(称为 RequestEvent
)。
你可以通过调用 getRequestEvent
来获取请求事件:
请求(Request)
RequestEvent
中最重要的属性是 .request
。
这是一个 Web Request 对象,代表当前向服务器发起的请求。
你可以访问它的属性,比如 url
和 headers
。
然而,对于服务器函数或渲染这样已经处理映射的情况,通常不需要直接处理 body
。
响应(Response)
getRequestEvent
也可以用来构建响应 - 这扩展了可以传递给 Response 构造函数
的选项。
这会保持更新,因此可以用于读取和写入当前响应的头部和状态。
修改 event.response 或创建新的 Response
getRequestEvent
事件被视为全局的,持续整个请求的生命周期。
因此,如果你在服务器端渲染(SSR)期间或 RPC 调用时在服务器上调用服务器函数,在 event.response
上设置的值将反映在该请求上。
返回的响应只会在它是 RPC 调用时影响响应。 这很重要,因为之前设置的一些头部可能不需要为整个页面设置,而只需要为特定请求设置。
注意: 在选择在哪里设置头部和响应时,需要牢记这一点。
与 SolidStart 一起使用
查看关于请求事件的指南。