我想一个FormCollection
发送到动作在我的控制器,但动作永远不会被击中。Ajax调用不打控制器动作
形式:
<form class="form-horizontal" role="form" id="TestForm" onsubmit="return false">
<div class="row">
<div class="col-md-12">
<div class="form-group">
<input type="text" name="Blah1" />
<input type="text" name="Blah2" />
</div>
<input id="SubmitButton" type="submit" value="Submit" />
</div>
</div>
的jQuery/AJAX:
$(document).ready(function() {
$("#SubmitButton").click(function() {
var form = $("#TestForm").serialize();
$.ajax({
url: "/Calculator/Post",
type: "POST",
data: form,
dataType: 'json',
success: function() {
alert("Success");
},
error: function() {
alert("Error");
}
});
});
});
控制器动作:
[HttpPost]
public JsonResult Post(FormCollection form)
{
return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}
出现这种情况是浏览器的唯一的事提醒错误信息。我是否错过了导致行动永远不会被打的东西?
谢谢你这个答案。你是对的,它工作得很好,而不必使用'serializeArray()'。无论出于何种原因,手动url都会导致错误。 – Quiver