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.