0

MVC 3でカートに商品を追加するためにAjax関数を使用しています

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;">
4

1 に答える 1

0

ajax 呼び出しは非同期です。関数 refreshPage を success または complete 関数内に配置する必要があります。このようにして、ajax 呼び出しが終了した直後に refreshPage 関数が呼び出され、ページを新しいデータで更新する準備が整います。

jQuery apiから抽出:

説明:非同期 HTTP (Ajax) 要求を実行します。

于 2013-06-13T11:53:58.520 に答える