Ajax POST int 到 MVC
Ajax POST int to MVC
我正在尝试 POST 一个带有 Ajax 的 INT 到我的 MVC 控制器。
脚本调试确认我的变量是一个具有值的 INT(例如 8 而不是字符串“8”)。所有代码行都被执行并且
我收到警报错误消息。
我在控制器的 Action 中有一个断点,但我从来没有做到那么远。我在我的操作中收到请求失败的通知,但它只说
"POST Order/Delete"。我的控制器名称是 OrderController,操作名称是 Delete。
我的JavaScript:
//Delete order
$(".deleteOrder").on("click", function () {
var id = parseInt($(this).attr("id"));
if (id !== null) {
$.ajax({
url: "/Order/Delete",
method: "POST",
contentType: "application/JSON;odata=verbose",
data: id ,
success: function (result) {
alert("Ok")
},
error: function (error) {
alert("Fail");
}
});
}
});
我的 MVC 操作
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Delete(int id)
{
List<OrderRow> lstOrderRow = new List<OrderRow>();
lstOrderRow = db.OrderRows.Where(x => x.OrderId == id).ToList();
foreach(var row in lstOrderRow)
{
db.OrderRows.Remove(row);
}
Order order = new Order();
order = db.Orders.Find(id);
db.Orders.Remove(order);
db.SaveChanges();
return RedirectToAction("index");
}
您应该通过删除数据字段
像这样使用url
url: "/Order/Delete/" + id,
或者发送数据中的id如下
data: {id: id},
这对我有用:
data: JSON.stringify({ id: id})
dataType: "json",
contentType: 'application/json; charset=utf-8',
</pre>
我正在尝试 POST 一个带有 Ajax 的 INT 到我的 MVC 控制器。
脚本调试确认我的变量是一个具有值的 INT(例如 8 而不是字符串“8”)。所有代码行都被执行并且 我收到警报错误消息。
我在控制器的 Action 中有一个断点,但我从来没有做到那么远。我在我的操作中收到请求失败的通知,但它只说 "POST Order/Delete"。我的控制器名称是 OrderController,操作名称是 Delete。
我的JavaScript:
//Delete order
$(".deleteOrder").on("click", function () {
var id = parseInt($(this).attr("id"));
if (id !== null) {
$.ajax({
url: "/Order/Delete",
method: "POST",
contentType: "application/JSON;odata=verbose",
data: id ,
success: function (result) {
alert("Ok")
},
error: function (error) {
alert("Fail");
}
});
}
});
我的 MVC 操作
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Delete(int id)
{
List<OrderRow> lstOrderRow = new List<OrderRow>();
lstOrderRow = db.OrderRows.Where(x => x.OrderId == id).ToList();
foreach(var row in lstOrderRow)
{
db.OrderRows.Remove(row);
}
Order order = new Order();
order = db.Orders.Find(id);
db.Orders.Remove(order);
db.SaveChanges();
return RedirectToAction("index");
}
您应该通过删除数据字段
像这样使用urlurl: "/Order/Delete/" + id,
或者发送数据中的id如下
data: {id: id},
这对我有用:
data: JSON.stringify({ id: id})
dataType: "json",
contentType: 'application/json; charset=utf-8',
</pre>