调用jQuery Get Post

时间:2015-03-24 14:42:56

标签: javascript jquery ajax

我试图在成功完成POST请求时调用jQuery GET请求。这些功能正常工作,数据正在从GET请求中提供,但是,它在POST之前响应。

function getCartCount() {
    var d = new Date().getTime();
    $.get("/ajax/countCart.php", { "rand": d }, function(res) {
        $("#view-cart").text(res);          
        alert(res);
    });
}

$(".products form img").click(function() {
    $.post("/ajax/addToCart.php", $(this).parent("form").serialize())
    .done(function(data) {
        alert(data);
    })
    .always(getCartCount());
});

上面的代码首先从GET请求生成一个警告框,然后从POST生成一个警告框,这是不理想的,因为GET的值取决于首先完成的POST。

请参阅http://www.cccomforts.co.uk/small-furries了解输出。

2 个答案:

答案 0 :(得分:2)

.always(getCartCount());
                    ^^

您正在立即调用该函数并将返回值传递给always

删除()以传递函数本身。

.always(getCartCount);

答案 1 :(得分:0)

这是因为您没有等待POST请求成功完成。这样做 -

$(".products form img").click(function() {
    $.post("/ajax/addToCart.php", $(this).parent("form").serialize())
    .done(function(data) {
        alert(data);
        getCartCount();
    })
});