jquery - Controller 操作可以通过 jQuery post 返回 void 吗?

标签 jquery asp.net-mvc-4

我之所以问这个问题,是因为我没有看到太多这样的例子。基本上,我有一个 Controller ,它有一个返回 void 的方法。该方法由通过 jQuery 完成的 post 调用。如果帖子成功,我只需用一些 html 更新页面的一小部分。我不需要从该方法返回任何内容,因此返回 void 可以接受吗?如果没有,那么在进行 ajax 调用时,您通常从 Controller 方法返回什么?

这是我的 Controller 方法:

[HttpPost]
public void AddToCart(ShoppingCartItem shoppingCartItem)
{ 

_shoppingCartService.AddItem(shoppingCartUserId, shoppingCartItem);

}

这是我的 JavaScript:

$(function () {
$("#addToCart").submit(function (e) {

    e.preventDefault();

    var shoppingCartItem = JSON.stringify(
    {
        'Name': $('#Name').val(),
        'ProductId': $('#ProductId').val(),
        'ShortDescription': $('#ShortDescription').val(),
        'Sku': $('#Sku').val()
    });

    AddToCart(shoppingCartItem);
});

function AddToCart(shoppingCartItem) {
    $.ajax({
        url: '/ShoppingCart/AddToCart',
        async: false,
        type: "POST",
        data: shoppingCartItem,
        dataType: "html",
        contentType: "application/json",
        error: function (data) {
            console.log(data);
        },
        success: function () {

            var count = parseInt($('div.item-counter').html()) + 1;
            $('div.item-counter').html(count);

        }
    });
}

}());

我注意到,如果我的操作方法失败,将调用错误函数,如果成功,将调用成功函数。

最佳答案

如果不返回任何内容,您将不知道它是否成功。

return Json(new { success= true });

然后您可以在成功函数中检查data.success

关于jquery - Controller 操作可以通过 jQuery post 返回 void 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32723921/

相关文章:

ASP.NET MVC - 检查请求是否来自另一个操作

c# - 我如何知道执行更新的 SQL Server 存储过程是否有效?

javascript - 使用过滤功能清除队列?

javascript - 遍历数组以将图像添加到 DOM

javascript - JQuery如何在创建的元素中创建元素

jquery - 在 jquery core $ 对象上创建 jquery 插件

javascript - 如何解决这个 "Uncaught ReferenceError: $ is not defined"

c# - EF 迁移异常 : A dependent property in a ReferentialConstraint is mapped to a store-generated column

javascript - 如何在 jQuery 对话框中获取 ActionLink 参数

c# - 在 MVC4 中更改运行时的路由