session vars vs hidden form values

Considering a new web app that uses both ajax and standard http post forms depending on the situation, is it bad to use session vars to store user input data? The alternative to using session vars is to use a hidden form element or a javascript variable. Both can be serialized on a submit event or tweaked with some js to make this work (i.e. simulate hash/array's available in ruby). Which is the "better" way to handle this?

I don't need any degradation for non js browsers, js is required to use the site.