Pagina-acties zoals iets verwijderen of de status wijzigen - gebruik een link of een formulierknop?

Ik heb een handvol pagina's waarmee ik de status van dingen kan wijzigen (zoals het wijzigen van de status van een vermelding of het verwijderen van een gebruiker) en ik vroeg me af: zou ik een link moeten gebruiken of formulierknoppen maken voor die acties? (zonder javascript)

Wat zijn de voor- en nadelen van elke implementatie? Het lijkt mij dat die link gemakkelijker te coderen is, maar dat vormknoppen veiliger lijken.

Wat denk je?

2
+1, Normaal gesproken zijn links bedoeld voor GET-aanvragen en zijn knoppen voor POST-aanvragen. Ik heb net een snelle zoekopdracht uitgevoerd en er zijn andere vragen op SO die verschillende methoden geven voor het gebruiken van links om POST te doen.
toegevoegd de auteur Frank Hale, de bron

2 antwoord

Niet idempotente bewerkingen, zoals creaties, updates en verwijderingen, zouden moeten worden uitgevoerd met een POST. Dus zonder JavaScript moet een formulier worden gebruikt met een verzendknop. Dit waarschuwt de gebruiker, als hij de pagina na de verwijdering ververst, dat de actie opnieuw wordt ingediend.

Een handig patroon, om de gebruiker de pagina na de post te laten verversen en geen risico te lopen om opnieuw in te dienen, is het omleiding na berichtpatroon, ook bekend als post-redirect-get . Dit zorgt ervoor dat een vernieuwing mogelijk is en dat de browser het bericht in zijn geschiedenis "vergeet", zodat de gebruiker terug kan gaan zonder de verwijdering opnieuw in te dienen.

3
toegevoegd

Met CSS kun je knoppen laten lijken op links en links op knoppen, dus het is vooral een kwestie van uiterlijk. Persoonlijk probeer ik links te gebruiken om beweging aan te geven (naar een andere pagina, naar een ander deel van de pagina, pop-uppagina, enzovoort) en knoppen voor acties (updates, verwijderingen, 'kopen', enz.)

1
toegevoegd