jQuery中的Post函数不起作用

时间:2013-06-13 09:51:40

标签: asp.net-mvc-3 jquery asp.net-mvc-ajax

我正在使用Ajax功能在MVC 3中的购物车中添加产品

在Ajax中我有一个添加产品的功能,在该功能中我想调用另一个功能,但它不起作用..

我的Ajax功能是

var AjaxCart = {

  addproductvarianttocart: function (urladd, formselector) {
    if (this.loadWaiting != false) {
        return;
    }
    this.setLoadWaiting(true);

    $.ajax({
        cache: false,
        url: urladd,
        data: $(formselector).serialize(),
        type: 'post',
        success: this.successprocess,
        complete: this.resetLoadWaiting,
        error: this.ajaxFailure
    });

  refreshPage();

},


refreshPage: function () {

    $.post('/ShoppingCart/OrderSummaryChild', function (data) {
        alert("Inside2");
        // Update the ItemList html element
        $('#CartUpdatePanel').html(data);
        alert("Out");
    });

}
};

链接来自我调用addproductvarianttocart函数的地方

<a onclick="AjaxCart.addproductvarianttocart( '/addproductvarianttocart/25/1/');return false;">

1 个答案:

答案 0 :(得分:0)

ajax调用是异步的。您应该将函数refreshPage放在success或complete函数中。这样就可以在ajax调用完成后立即调用refreshPage函数,并准备好使用新数据刷新页面。

摘自jQuery api

  

描述:执行异步HTTP(Ajax)请求。