Se "fai aggiorna" (prendo in prestito da te) continuerai sempre a vedere gli stessi risultati indipendentemente da come modifichi la chiamata Ajax.
Questo perchè Ajax funziona in Javascript e, quindi, lato client e quindi, ancora, "rinfresca" la pagina caricata PRIMA della chiamata XMLHTTP.
Vi sono un paio di tecniche per ovviare a questo inconveniente la più diffusa delle quali è l'uso di un iframe nascosto in cui vengono salvate via via le chiamate e al refresh uno script controllerà il contenuto dell'iframe ed effettuerà nuovamente la chiamata. La consistenza dei dati è assicurata, quindi, dall'History dell'iframe.
Questa tecnica è utilizzata da GMail e Google inc mette a disposizione uno script per gestire l'History in questo modo.
Una tecnica simile è stata sviluppata anche in Flash.
Altra soluzione è ricorrere ai cookie: salvi le ricerche in un cookie e al caricamento della pagina rieffettui la chiamata precedente leggendo il contenuto del cookie. Per evitare che l'utente ad una nuova apertura del sito visualizzi i risultati dell'ultima visita cancellerai il cookie all'uscita.