我的控制器中有以下功能:
public ActionResult DraftOrderDetailsLineItems (Guid customerId)
{
//lookup cart based on customer ID
var draftOrder = new ComApiCart(customerId);
return PartialView("_draftOrderDetails",draftOrder.OrderDetails);
}
在我看来,我有部分
的代码 <tbody id="draftOrderItems">
@Html.Partial("_draftOrderDetails", Model.Order);
</tbody>
现在我需要有关Ajax调用的帮助。当单击表中的tr以将此项添加到购物车时,首先调用此调用。这工作正常,我只需要在成功后需要一些帮助来重新加载视图上的_draftOrderDetails局部视图。
$(document).on('click', '#search-results tr', function (event) {
//Add to cart
var id = $(this).find('#SKU').val();
var userId = $('#ID').val();
$.ajax({
url: "/orders/addtocart",
type: 'POST',
cache: false,
dataType: 'json',
data: { "productId": id, "Quantity": 1, "UserID": userID, "Description": "" },
success: function (data) {
//ajax call to DraftOrderDetailsLineItems to refresh the lines
},
error: function (jqXHR, textStatus, errorThrown) {
productQty.val(0);
console.error("[Error in Ajax Request, Add To Cart] Code:" + jqXHR.status + " Error:" + errorThrown + " \nText Status:" + jqXHR.responseText);
timeoutID = window.setTimeout(updateCurrentSession(ACTION.UPDATE), timeoutDelay);
}
});
});
我知道我在data.id字段中有来自Ajax调用的客户ID,我只是努力让调用本身在项目添加到购物车后“重新呈现”局部视图。
感谢。
答案 0 :(得分:0)
你可以改变下面的成功部分,一切都会好的。
success: function (data) {
//ajax call to DraftOrderDetailsLineItems to refresh the lines
$.get('/YourController/DraftOrderDetailsLineItems/',{customerId:data.id},function(data){
$("#draftOrderItems").html(data);
})
},
&#13;