Ajax不在服务器上工作,但在本地工作正常

时间:2013-06-16 14:51:05

标签: jquery ajax

这是我的代码......

$('.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();
});

1 个答案:

答案 0 :(得分: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();
});