我正在尝试使用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请求不是一个简单的请求。所以我不能返回一个视图。我现在该怎么办请帮帮我。
答案 0 :(得分:1)
这不是Ajax的用途。您的Ajax调用应该返回JSON数据。如果您想在成功进行HTTP呼叫后重定向用户,那么您需要在客户端使用Javascript进行重定向,例如window.location = redirect_uri
。
答案 1 :(得分:0)
我完成了。简单地说,我刚刚在成功方法的结果变量中收到了完整的DOM。我用那个结果更新了dom ...... :)