仅在完成Post请求后重新加载

时间:2014-07-01 12:40:23

标签: jquery ajax

$('.active-per').click(function () {
    var text = $(this).data('value');
    $('.active-per').removeClass('active');

    if (text == "t") {
        $(this).addClass("active");
        $.post("percentage.php", {
            'text': text
        }, function (data) {});
    } 
    else if (text == "n") {
        $(this).addClass("active");
        $.post("percentage.php", {
            'text': text
        }, function (data) {});
    } 
    else if (text == "c") {
        $(this).addClass("active");
        $.post("percentage.php", {
            'text': text
        }, function (data) {});
    } 
    else if (text == "r") {
        $(this).addClass("active");
        $.post("percentage.php", {
            'text': text
        }, function (data) {});
    }

    window.location.reload();
});

我只需要在完成发布请求后刷新我的页面。但是如果我这样做它没有发生。我无法获得我在刷新后发送的post变量。如何在发送后发送数据后重新加载。

1 个答案:

答案 0 :(得分:0)

$.post - IF条件中的所有ELSE方法,因此1请求将一次发布,因此您可以指定post个函数状态变量并在代码末尾检查。 试试这种方式

$('.active-per').click(function () {
    var text = $(this).data('value');
    $('.active-per').removeClass('active');

    var ajax = null;

    if (text == "t") {
        $(this).addClass("active");
       ajax = $.post("percentage.php", {
            'text': text
        }, function (data) {});
    } 
    .
    .
    .
    else if (text == "r") {
        $(this).addClass("active");
        ajax = $.post("percentage.php", {
            'text': text
        }, function (data) {});
    }

    ajax.done(function(){
     window.location.reload();
    });
});