-4

这是我的代码...

$('.savebtn').click(function () {
    var idComment = $(this).attr('idComment');
    var content = $("#area" + idComment + "").val();
    $.ajax({
        url: 'update_comment.php?idComment=' + idComment + '&content=' + content + ''
    });
    //$("#area"+idComment+"").val(content);
    $("#editarea" + idComment + "").hide();
    location.reload();
});
4

1 回答 1

3

由于您提供的关于“不工作”的信息如此之少,我不得不做出假设。我认为这是问题的根源:

$.ajax()是一个异步调用,这意味着$.ajax()即使它还$.ajax()没有完成,下面的代码也会被执行。在您的情况下:location.reload();可能会在$.ajax()成功之前执行。如果是这种情况,您的 ajax 请求将在完成之前被取消。

解决方案:将所有依赖于$.ajax()正在成功或将要完成的代码放在成功处理程序中:

$('.savebtn').click(function () {
    var idComment = $(this).attr('idComment');
    var content = $("#area" + idComment + "").val();
    $.ajax({
        url: 'update_comment.php?idComment=' + idComment + '&content=' + content + '',
        success: function() { // this code will be executed when your ajax-call has finished successfully
            location.reload();
        },
    });
    //$("#area"+idComment+"").val(content);
    $("#editarea" + idComment + "").hide();
});
于 2013-06-16T15:03:20.383 回答