在Ajax调用后检索更新的会话变量

时间:2017-06-11 11:58:09

标签: javascript php jquery ajax

我对comments-set.php进行了Ajax调用。在php文件中,我将会话变量设置为随机值。在Ajax.done回调中,我想检索会话变量。

我已经验证会话变量被正确设置为新的随机值,但旧的值仍然由.done中的代码显示。

$(document).on("click", "#submit", function () {

    var comment = document.getElementById('comment').value
    var no_spam = document.getElementById('no_spam').value

    var jqxhr = $.ajax({
        type:"POST", 
        url: "comments-set.php", 
        dataType: "html",
        data:{no_spam:no_spam, comment:comment}
    })
    .done(function(data) { 
        $("#display").html(data); 
        $('input[type="text"],textarea').val('');
        var nsq = '<label for="no_spam" style="color:#717171;" id="no_spam_Q"><?php echo $_SESSION['q']; ?></label>';
        $("#no_spam_Q").replaceWith(nsq);
    });

}); 

我假设(我的知识非常有限!)这与Ajax是async或JS没有等待php解决有关。我怎么能绕过这个?

我尝试过使用像Ajax.complete这样的事件,而不是在.done中没有成功,我甚至在触发此代码的按钮上使用onMouseUp,认为它在鼠标中被触发,所以我会在鼠标中获取会话变量,仍然没有快乐。

0 个答案:

没有答案