If you want to keep the client from reloading the active page but want to retrieve data from a server, I have done it like this in the past.
If the site is framed, have one frame which is of zero (0) size so it does not display. Have you custom validator call a page which retrieves your data as javascript variables or arrays into this frame. You can use this frame to store quite a bit of data and it is easily reloadable and accessable.
If the site is not framed use the same process but open a new browser window off screen so the user cannot see it. In this case you should close the window as soon as your done as it is a bad look to leave these windows open when your application is finished with it.
The only problem with this method is timing, you may need to have the page loading in the frame or new window call a method in the primary window when it is done. Or you can poll the frame or window for an expected variable and when it appears you know all the real data is available.
It's a messy way of doing it but it makes for a clean user interface and it look realy professional.
:-\ :-\