Skip to content

Render different HTML based on HTTP method in Astro

I had the need to render completely different HTML depending on the HTTP method used to reach an Astro page.

I used this technique:

---
//... some server side logic
---

{Astro.request.method === 'POST' && 
  <div>
    //...
  </div>
}

{Astro.request.method === 'DELETE' && 
  <div>
    //...
  </div>
}

{Astro.request.method === 'GET' && 
  <div>
    //...
  </div>
}

I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter

JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list