如何在ajax请求成功后重定向到asp.net中的动作
本文关键字:net asp 重定向 ajax 请求 成功 | 更新日期: 2023-09-27 18:13:51
我正在尝试做一些事情,比如使用ajax请求从js发送数组到控制器。经过一些处理后,我想重定向到那个带有结果的动作。以下是代码…
JavaScriptvar 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的作用。Ajax调用应该返回JSON数据。如果你想在一个成功的HTTP调用后重定向用户,那么你需要用Javascript在客户端完成它,例如window.location = redirect_uri
.
我完成了。简单地说,我只是在成功方法的结果变量中收到了完整的DOM。我用那个结果更新了dom…:)