PHP延迟执行ajax响应?

时间:2016-04-03 08:11:34

标签: javascript php jquery ajax session

我通过JavaScript获取用户时区。并发送ajax请求以在会话中保存该值,以便我可以在进一步的逻辑中使用该值。这工作正常,但第二页加载时可以使用设置值。 有没有办法等待ajax响应并在会话变量可用时开始进一步执行。

我正在使用以下代码

        <script type="text/javascript">
      $(document).ready(function(){
        var tz = jstz.determine(); 
        var timezone = tz.name(); 
        $.post("abc.php", {tz: timezone}, function(data) {
                 location.reload(); 
         });
      });
    </script>
 <?php
$timezonevalue=$_SESSION['timezone'];
?>

现在我在ajax请求工作正常后重新加载页面,但是这会为用户创建一些中断。有没有办法延迟php执行,直到会话变量可用。

1 个答案:

答案 0 :(得分:0)

$.post("abc.php", {tz: timezone}, function(data) {
                 location.reload(); 
 })
 .done(function(data){

     // here you are sure the request is done 


});

如果您想跟踪错误,也可以添加.error(callback)

检查jQuery documentation以获取更多详细信息。