【发布时间】:2015-06-23 22:51:21
【问题描述】:
我正在尝试使用 jQuery AJAX 将按钮绑定到控制器中的操作。我是这样做的,但它不起作用。
@model InventoryTest.MyModel
@using (Html.BeginForm(new { id = "itemTypeForm" }))
{
<input type="submit" value="Delete" id="deleteButton" class="button btn btn-danger" />
<!-- other form elements... -->
}
在控制器中我有:
[HttpPost]
public ActionResult Delete(MyModel myModel )
{
if (myModel != null);
// do something...
return(view);
}
AJAX 代码是:
$("#deleteButton").on('click', function (e) {
e.preventDefault();
if (formIsValid) {
$.ajax({
url: '/Home/Delete',
type: 'POST',
data: form.serialize()
}).done(function (data) {
if (data.success) {
alert("sucsess")
} else {
alert("error");
}
});
}
})
编辑:
$("#deleteButton").on('click', function (e) {
e.preventDefault();
$.ajax({
url: '/Home/Delete',
type: 'POST',
**data:$("#itemTypeForm").serialize()**
}).done(function (data) {
if (data.success) {
alert("sucsess")
} else {
alert("error");
}
});
})
我更改了 AJAX 部分以使用其 id 访问表单,它现在调用操作但我收到错误消息并且返回的模型对象为空。
【问题讨论】:
-
form和formIsValid来自哪里?此外,动作中的if条件后面不应有;。 -
你能指定什么不工作吗?有什么错误吗?
-
@Rory McCrossan :Actullay 我是 ajax 新手,所以我只是在尝试一些代码的地方,我认为表单是包含输入按钮的表单。
-
@ssilas777:不,没有错误,但在我单击删除按钮后它也不会调用控制器中的操作
-
@RoryMcCrossan:dat 的正确值在哪里?或者我如何访问该按钮所在的表单?
标签: jquery ajax asp.net-mvc asp.net-mvc-4