headers
The headers plugin adds X-Ajax-Request: true to every outgoing fetch. It is
active by default — you do not need to import or configure it.
Adding custom headers
Call headers() with an object to merge additional headers into every request:
import ajax, { headers } from "@erikt/ajax"
ajax.use(headers({
"X-CSRF-Token": document.querySelector('meta[name="csrf-token"]').content,
}))
The default X-Ajax-Request: true header is always included alongside any
extras you pass.
Server-side detection
Use the header to distinguish Ajax requests from full-page navigations and return partial HTML instead of a full document:
// Express example
app.get("/cart", (req, res) => {
if (req.headers["x-ajax-request"]) {
res.render("partials/cart")
} else {
res.render("pages/cart")
}
})
Options
| Argument | Type | Default | Description |
|---|---|---|---|
extra |
Record<string, string> |
{} |
Additional headers merged into every request |