javascript - Ajax POST int 到 MVC

标签 javascript jquery ajax asp.net-mvc asp.net-mvc-4

我正在尝试使用 Ajax 将 INT 发布到我的 MVC Controller 。

脚本调试确认我的变量是一个具有值的 INT(例如 8 而不是字符串“8”)。所有代码行都被执行并且 我收到警报错误消息。

我在 Controller 的 Action 内部有一个断点,但我从来没有走到那一步。我在我的操作中收到请求失败的通知,但它只说 “发布订单/删除”。我的 Controller 名称是 OrderController,操作名称是删除。

我的 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: "/Order/Delete/" + id,

或者发送如下数据中的id

data: {id: id},

关于javascript - Ajax POST int 到 MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48688756/

相关文章:

php - keyup 不起作用,不显示一个警报

javascript - Rails 操作仅调用一次,但我在 ajax 中每秒调用一次

javascript - jquery,实时 "title"属性变化

javascript - 一些 bootstrap 轮播图像无法在 safari mac 上加载

java - Controller 用整个 View 响应 AJAX 请求

javascript - AJAX 内容类型问题?

javascript - onblur 函数在 JavaScript 中不起作用

JavaScript : how to Convert date string "Thu Apr 23 2015 00:00:00 GMT+0200 (CEST)" to timestamp?

javascript - 将日期转换为时间戳以在 javascript 中存储到 firebase firestore

javascript - 我如何让 flexbox child 填满垂直空间?