【问题标题】:PHP delay execution for ajax response?ajax响应的PHP延迟执行?
【发布时间】:2016-04-03 08:11:34
【问题描述】:

我通过 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 的执行,直到 session 变量可用。

【问题讨论】:

  • 完全不清楚。为什么要等待?
  • 未注明日期的问题请检查
  • 我正在获取通过 ajax 设置的会话变量
  • 使用$post.done(callback)
  • 你处理的是同一个页面吗?

标签: javascript php jquery ajax session


【解决方案1】:
$.post("abc.php", {tz: timezone}, function(data) {
                 location.reload(); 
 })
 .done(function(data){

     // here you are sure the request is done 


});

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

查看 jQuery documentation 了解更多详情。

【讨论】:

  • .done 是我现在正在做的替代方法。方法没有区别
  • @Mehar 那你真正的问题是什么,因为我无法理解它?
  • 那么如果您不了解问题,您如何发布答案?
  • 我只理解了你的问题的标题:PHP delay execution for ajax response? 和一些类似这样的词:Is there any way to wait for the ajax response 来自你的问题
  • @Mehar 显然你想问你的问题中没有表达的其他东西
猜你喜欢
  • 1970-01-01
  • 2016-12-01
  • 2014-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多