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.