Ajax request and redirection

This is most likely my lack of understanding of Ajax concepts, but I
cannot find an answer on the web for the following question:

“Should an ajax request triggered by a specific page must come back to
the same page?”

Here is my jQuery handler in the jsTree that communicates with my server
side Rails code:

Note that the base_url is defined at the top of this file as shown
below:

var base_url = “/folders/”;

var handle_selected = function(docs_count_in_json) {
hide_progress();
//alert(docs_count_in_json.documents_count);
var c = docs_count_in_json.documents_count;
if (c > 0) {
// alert(“Has documents to display.”)
// should directly go to the documents tab if there are
documents
var s_id =
jQuery.tree_reference(‘folders_tree’).selected.attr(‘id’);
jQuery.ajax({
type: “POST”,
url: base_url + ‘set_current_folder/’ + s_id,
beforeSend: show_progress,
data: ({authenticity_token: AUTH_TOKEN}),
dataType: “json”,
error: handle_ajax_error,
success: hide_progress
});
window.location = ‘/documents/’
return false;
} else {
alert(“This folder does not have any documents.”)
}
}

So I am POSTing to the url
http://localhost:3000/folders/set_current_folder/1

Which invokes the set_current_folder method with a params[:id] value for
my currently selected folder. The set_current_folder method is as
follows:

def set_current_folder
@folder = Folder.find(params[:id])
session[:nested_folder_id] = nil
unless @folder.practice_id.blank?
session[:folder_id] = @folder.id
flash[:notice] = “Current folder set to #{current_folder.name}”
redirect_to documents_path
else # this should not happen, yet just in case
flash[:warning] = “Please associate this folder with corresponding
practice first.”
redirect_to(:action => ‘edit’, :id => session[:folder_id])
end
end

As can be seen above, set_current_folder method sets the value of
currently selected folder in the session in the line of code

  session[:folder_id] = @folder.id

And the redirects to the documents_controller’s default index action
which shows the documents for that folder. I have run the program
through debugger and it actually hits that line of code and populates
the :folder_id variable in the session hash.

But after redirect, it disappears and cannot be seen by the
documents_controller. Finally, I get a “server error” on the page where
I trigger this request instead of ending up on the index.html.erb page
for the documents_controller. The server side log shows no errors. On
the client side, Firefox does not show any error.

Please help me understand what is going on here?

Thanks.

Bharat

Quick edit:

On the client side, Firefox does not show any error.

I meant to say:

On the client side, Firebug in Firefox does not show any error.