jQuery ja get päringud

Kõik on ilus seni kuni tegu jõuab IE kasutamiseni. Mingil X põhjusel arvab see browser paremini teadvat mida kasutajal vaja on ning .. hakkab päris toorelt cachema.

Päring läheb serverisse küll, aga apache logis võib näha 302 vastuseid ning browseris on näha valet, eelmise päringu tulemust.

Antud probleemist on näiteks kirjutatud siin ja siin

Lahenduseks pakutakse kahte varianti: kas POST päring GET päringu asemel, või kasutada unikaalset parameetrit iga päringu juures.
Mõlemad on muidugi töötavad variandid, aga mis siis kui ei taha ei ühte ega teist? POST veel, aga iga kord unikaalse parameetri tekitamine tundub kuidagi eriti overhead.

Omalt poolt pakun kolmanda lahendusena välja päringu sihtmärgiks oleva scripti seest lisaheaderi saatmise:

header ('Cache-Control: no-cache, pre-check=0, post-check=0, max-age=0');

Testimisel näitas häid tulemusi – IE hakkas õigeid tulemusi näitama!

1 thoughts on “jQuery ja get päringud

  1. IE on Ajax GET päringuid puhverdanud “algusest peale,” vähemalt niikaua kui mina mäletan (2005/2006, kui see hype peale hakkas). Seega olen samuti kasutanud võimaluse korral alati just POST päringut või siis GET puhul lisanud URL’i lõppu midagi sellist – “/url?t=”+(+new Date())

Lisa kommentaar

This site uses Akismet to reduce spam. Learn how your comment data is processed.