成功的ajax请求后如何重定向到asp.net中的操作

时间:2015-09-20 20:15:11

标签: c# jquery asp.net-mvc

我正在尝试使用ajax请求将数组从js发送到控制器。经过一些处理之后,我想用结果重定向到那个动作。 以下是代码......

的JavaScript

var arr = ['1','2','3','4'];
function CheckOut()
    {
        $.ajax({
            url: '/Admin/AdminPanel/ProceedToBill',
            type: 'POST',
            contentType: 'application/json',
            data: JSON.stringify({ morder: arr }),
            success: function (result) {

            }
        });
    }

Controller`

[HttpPost]
    public ActionResult ProceedToBill(int[] morder)
    {
        // morder = [deal_id , quantity]

        List<MyModels.CartModel> cart = new List<MyModels.CartModel>();
        MyModels.CartModel item = new MyModels.CartModel();
        for (int i = 0; i < morder.Length; i+=2 )
        {
            item.deal = db.Deals.Find(morder[i]);
            item.qty = morder[i + 1];
            item.price = item.deal.Price * item.qty;
            cart.Add(item);
        }
            return View(cart);
    }

所以,问题是那里的ajax请求不是一个简单的请求。所以我不能返回一个视图。我现在该怎么办请帮帮我。

2 个答案:

答案 0 :(得分:1)

这不是Ajax的用途。您的Ajax调用应该返回JSON数据。如果您想在成功进行HTTP呼叫后重定向用户,那么您需要在客户端使用Javascript进行重定向,例如window.location = redirect_uri

答案 1 :(得分:0)

我完成了。简单地说,我刚刚在成功方法的结果变量中收到了完整的DOM。我用那个结果更新了dom ...... :)