0

在 MvcMusicStore 教程中,它使用 $.post() 从购物车中删除一个项目。我想练习我的 jQuery 并将其转换为 $.ajax() 调用。但它给了我一个运行时错误。谁能告诉我我的代码出了什么问题。

这是 $.post() 调用

    $.post("/ShoppingCart/RemoveFromCart", { "id": recordToDelete },
        function (data) {
             Successful requests get here
             Update the page elements
            if (data.ItemCount == 0) {
                $('#row-' + data.DeleteId).fadeOut('slow');
            } else {
                $('#item-count-' + data.DeleteId).text(data.ItemCount);
            }

            $('#cart-total').text(data.CartTotal);
            $('#update-message').text(data.Message);
            $('#cart-status').text('Cart (' + data.CartCount + ')');
        });

==================================================== ===================================== 这是我的 $.ajax() 调用。

        $.ajax({
            type: "POST",
            uri: "/ShoppingCart/RemoveFromCart",
            data: { "id": recordToDelete },
            success: function (d) {
                alert(d);
                if (d.ItemCount == 0) {
                    $('#row-' + d.DeleteId).fadeOut('slow');
                } else {
                    $('#item-count-' + d.DeleteId).text(d.ItemCount);
                }

                $('#cart-total').text(d.CartTotal);
                $('#update-message').text(d.Message);
                $('#cart-status').text('Cart (' + d.CartCount + ')');
            },
            dataType: "application/json"
        });
4

3 回答 3

3

使用url:而不是uri

$.ajax({
        type: "POST",
        url: "/ShoppingCart/RemoveFromCart",
        data: { "id": recordToDelete },
        success: function (d) {
            alert(d);
            if (d.ItemCount == 0) {
                $('#row-' + d.DeleteId).fadeOut('slow');
            } else {
                $('#item-count-' + d.DeleteId).text(d.ItemCount);
            }

            $('#cart-total').text(d.CartTotal);
            $('#update-message').text(d.Message);
            $('#cart-status').text('Cart (' + d.CartCount + ')');
        },
        dataType: "application/json"
    });

有关更多信息,请访问$.ajax()

于 2013-01-07T04:12:14.787 回答
1

正确的参数名称是 url 而不是 uri

于 2013-01-07T04:13:44.257 回答
0
$.ajax({
        type: "POST",
        url: "ShoppingCart/RemoveFromCart",
        contenttype: "application/json; charset=utf-8",
        data: { id: recordToDelete },
        success: function (d) {
            alert(d);
            if (d.ItemCount == 0) {
                $('#row-' + d.DeleteId).fadeOut('slow');
            } else {
                $('#item-count-' + d.DeleteId).text(d.ItemCount);
            }

            $('#cart-total').text(d.CartTotal);
            $('#update-message').text(d.Message);
            $('#cart-status').text('Cart (' + d.CartCount + ')');
        }

    });

尝试上面的代码一次,让我知道您的问题是否仍然存在.....

于 2013-01-07T04:19:00.560 回答