I have this in the controller:
[HttpPost]
public ActionResult Create(Student student)
{ //somecode..
and i want to submit this from
try this
var form = $('#formId');
$.ajax({
cache: false,
async: true,
type: "POST",
url: form.attr('action'),
data: form.serialize(),
success: function (data) {
alert(data);
}
});
Use this, assuming you are using razor views:
@using (Ajax.BeginForm(new AjaxOptions(){
HttpMethod = "POST",
Url = "your controller",
OnComplete = "some client event"
})
{
<fieldset>
<legend>This is a demo form.</legend>
@Html.LabelFor(model => model.Name)
@Html.TextBoxFor(model => model.Name)
<input type="submit" value="Save" />
</fieldset>
}
Well it would look something like (that's without looking at your view bindings):
// serialize your form into JSON - maybe you have a different method of doing it
var serializedForm = $("#YourFormId").serialize();
// post it to the server
$.post("/student/create", serializedForm)
.done(function (response) {
// it's done
})
.fail(function (xhr, status, error) {
// something bad happened
});