Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an example of evaluated values passed to hx-headers. #2939

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion www/content/attributes/hx-headers.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,14 @@ The `hx-headers` attribute allows you to add to the headers that will be submitt
By default, the value of this attribute is a list of name-expression values in [JSON (JavaScript Object Notation)](https://www.json.org/json-en.html)
format.

```html
<div hx-get="/example" hx-headers='{"myHeader": "My Value"}'>Get Some HTML, Including A Custom Header in the Request</div>
```

If you wish for `hx-headers` to *evaluate* the values given, you can prefix the values with `javascript:` or `js:`.

```html
<div hx-get="/example" hx-headers='{"myHeader": "My Value"}'>Get Some HTML, Including A Custom Header in the Request</div>
<body hx-headers='js:{ "Locale" : new Intl.DateTimeFormat().resolvedOptions().locale }'>...</body>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think to keep the example consistent, we could take inspiration from the hx-vals documentation, which has the following example:

<div hx-get="/example" hx-vals='{"myVal": "My Value"}'>Get Some HTML, Including A Value in the Request</div>

<div hx-get="/example" hx-vals='js:{myVal: calculateValue()}'>Get Some HTML, Including a Dynamic Value from Javascript in the Request</div>

I think it's a concise & effective approach, using the same key for the same context element, just changing how the value is retrieved and illustrating how js: works.

Let me know your thoughts on this! Your opinion will have more value than mine on this as I'm likely biased by my htmx experience (as you said, we want the docs to be clear enough for newcomers!)

```

## Security Considerations
Expand Down