Konvertere links til posts (Fra GET til POST)

December 6, 2009 · Posted in Udvikling 

Det er aldrig smart at lave GET-requests der skal ændre noget på en server. Skal der ske ændringer skal man bruge POST, dvs. en formular for method er sat til post. Det er bare ikke altid hensigtsmæssigt fordi man måske har noget design, hvor man skal slette noget ved at trykke på et link. En smart måde at omgås problemet på er ved at bruge jQuery til at konvertere ens links.

Start med at sætte en class=”convert_to_post” på dine links. Fx:

1
<a href="bookmark.php?page=123" class="convert_to_post">Bookmark</a>

Normalt ville overstående bare være et almindeligt link, men pga. class=”convert_to_post” og nedenstående stykke javascript vil den blive konverteret til et ajax-kald der poster i stedet.

1
2
3
4
5
6
$(".convert_to_post").click(function() {
  $.post($(this).attr('href'), {}, function() {
    window.location.reload();
  });                
  return false;
});

Man skal dog være opmærksom på at hvis man bruger PHP så ligger ens data stadig i $_GET og ikke i $_POST, man skal derfor for at sikre sig at der er brugt POST checke at $_SERVER['REQUEST_METHOD'] er sat til POST.

Comments

Leave a Reply





  • Om websmed.dk

    Jeg hedder Morten, og jeg har udviklet webapplikationer siden slutningen af 90'erne.

    Jeg vil her dele ud af min erfaring, og med jævne mellemrum poste nogle tips og tricks, samt løsningsforslag på generelle dagligdags problemstillinger.

    Jeg har en forkærlighed for PHP og MySQL, hvorfor I nok vil se flest indlæg der vedrører den gren af webudvikling.

    Jeg har en anden blog af mere personlig karakter på mbn.dk, hvor I kan finde kontaktmuligheder m.m.

    Mine indlæg vil tit være baseret på problemstillinger i mit daglige virke, eller i mit eget firma MRLYTICS, hvor jeg sælger kundeundersøgelser samt kundedatabaser.

    Denne side er hostet hos slicehost.

  • Skrevet på Twitter