How to convert simple form submit to ajax call;

Let's use jQuery's serialize to get the data out of the form and then use the jQuery's ajax function to send the data to the server:

var data = $("form[name=algoForm]").serialize();
$.ajax({
    url: "run.do",
    type: "POST",
    data: data,
    success: function(tableData){
        alert(tableData);
    }
});

Instead of retrieving all the parameter value and then sending them separately (which can be done server side as well, using below code), Use this:

var $form = $("#divId").closest('form');
    data = $form.serializeArray();

    jqxhr = $.post("SERVLET_URL', data )
        .success(function() {
            if(jqxhr.responseText != ""){
                //on response
            }
        });
    }

divId is id of the div containing this form.

This code will send all the form parameters to your servlet. Now you can use request.getParameter in your servlet to get all the individual fields value on your servlet.

You can easily convert above jquery post to jquery ajax.

Hope this helps :)


data expects a literal object, so you need:

var data = {
    'algorithm': algorithm,
    'input': input
};