Skip to main content

Đối tượng event (một instance của RequestEvent) được truyền vào handle cũng chính là event trong API routes+server.js, form actions+page.server.js, và các hàm load trong +page.server.js+layout.server.js.

Nó chứa một số thuộc tính hữu ích và phương thức, một số trong số đó chúng ta đã gặp:

  • cookiesAPI cookies
  • fetchFetch API tiêu chuẩn, với các tính năng bổ sung
  • getClientAddress() — một hàm để lấy địa chỉ IP của client
  • isDataRequesttrue nếu trình duyệt đang yêu cầu dữ liệu cho một trang trong quá trình điều hướng ở phía client, false nếu một trang/route đang được yêu cầu trực tiếp
  • locals — nơi để đặt dữ liệu tùy ý
  • params — các tham số route
  • requestRequest object
  • route — một object với một thuộc tính id đại diện cho tuyến đường đã được khớp
  • setHeaders(...) — một hàm để setting HTTP headers cho response
  • url — một URL object đại diện cho request hiện tại

Để thuận tiện, ta có thể thêm dữ liệu vào event.locals trong handle để truy cập được trong các hàm load tiếp theo:

src/hooks.server.js
export async function handle({ event, resolve }) {
	event.locals.answer = 42;
	return await resolve(event);
}
src/routes/+page.server.js
export function load(event) {
	return {
		message: `Câu trả lời là ${event.locals.answer}`
	};
}

Tiếp theo: handleFetch

1
2
3
4
5
<script>
	export let data;
</script>
 
<h1>{data.message}</h1>
initialising