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

本文关键字:net asp 重定向 ajax 请求 成功 | 更新日期: 2023-09-27 18:13:51

我正在尝试做一些事情,比如使用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) {
            }
        });
    }

控制器"

[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请求而不是一个简单的请求。所以我不能返回视图。我现在该怎么办呢?

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

这不是Ajax的作用。Ajax调用应该返回JSON数据。如果你想在一个成功的HTTP调用后重定向用户,那么你需要用Javascript在客户端完成它,例如window.location = redirect_uri .

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