Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP延迟执行ajax响应?_Javascript_Php_Jquery_Ajax_Session - Fatal编程技术网

Javascript PHP延迟执行ajax响应?

Javascript PHP延迟执行ajax响应?,javascript,php,jquery,ajax,session,Javascript,Php,Jquery,Ajax,Session,我通过JavaScript获取用户时区。并发送ajax请求以在会话中保存该值,以便我可以在进一步的逻辑中使用该值。这工作正常,但设置值在第二次页面加载时可用。 有没有办法等待ajax响应,并在会话变量可用时开始进一步执行 $.post("abc.php", {tz: timezone}, function(data) { location.reload(); }) .done(function(data){ // here you are su

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

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

     // here you are sure the request is done 


});
我正在使用下面的代码来实现这一点

        <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'];
?>

$(文档).ready(函数(){
var tz=jstz.determine();
var timezone=tz.name();
$.post(“abc.php”,{tz:timezone},函数(数据){
location.reload();
});
});
现在,我在ajax请求之后重新加载页面,虽然工作正常,但这会给用户造成一些干扰。是否有任何方法延迟php执行,直到会话变量可用

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

     // here you are sure the request is done 


});
如果要跟踪错误,还可以添加
.error(callback)


查看jQuery了解更多详细信息。

完全不清楚。为什么要等待?未注明日期的问题请检查我正在获取通过ajaxuse
$post.done(callback)
设置的会话变量您正在处理同一页吗?done是我现在正在做的另一种方法。在这方面没有区别approach@Mehar那么你真正的问题是什么,因为我不能理解它?那么如果你不理解这个问题,你是如何发布你的答案的?我只理解你问题的标题:PHP延迟执行ajax响应?还有一些类似这样的词:
有没有办法等待用户的ajax响应question@Mehar很明显,你想问一些在你的问题中没有表达出来的问题