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

  • C Handbook
  • Command Line Handbook
  • CSS Handbook
  • Express Handbook
  • Git Cheat Sheet
  • Go Handbook
  • HTML Handbook
  • JS Handbook
  • Laravel Handbook
  • Next.js Handbook
  • Node.js Handbook
  • PHP Handbook
  • Python Handbook
  • React Handbook
  • SQL Handbook
  • Svelte Handbook
  • Swift Handbook

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