在局部视图中渲染Json数据

时间:2014-09-22 15:54:30

标签: jquery ajax asp.net-mvc json

我目前正在使用MVC5处理购物车应用程序,并且要求允许编辑在jQuery UI对话框中显示为部分视图的购物车。

我添加了一个javascript方法,允许对控制器进行ajax调用,但是我遇到了json结果数据显示的问题。目前,即使json数据有效,它也会呈现为空白页。

jquery代码如下:

$(".RemoveLink").click(function () {
        // Get the id from the link
        var recordToDelete = $(this).attr("cartid");

        $.ajax({
            url: "/ShoppingCart/RemoveFromCart/",
            type: 'POST',
            datatype: 'html',
            data: {
                id: recordToDelete
            },
            success: function (data) {
                $("#shoppingcart").html(data);                    
            },
            error: function (jqXHR, textStatus, errorstring) {
                alert("There has been an error textStatus: [" + textStatus + "] \r\n errorstring: [" + errorstring + "]");
            }
        })
    });

我试图手动显示数据并且这项工作成功但是我希望我可以使用我的部分视图来实现它。

谢谢,

斯图尔特

2 个答案:

答案 0 :(得分:0)

为什么不让您的RemoveFromShoppingCart控制器返回您想要更新的部分视图(与更新的模型绑定)。然后在Jquery中,只需使用更新的部分视图更新显示局部视图的部分。

我假设您当前的代码示例数据是从服务器返回的JSON对象。

答案 1 :(得分:0)

您需要指定所需的返回类型:

如果您需要JSON,请指定:

datatype: 'json',

由于您的代码似乎需要HTML而不是JSON,不会返回JSON结果。

还请显示您的控制器操作方法