【问题标题】:Asynchronous ajax request locking browser异步ajax请求锁定浏览器
【发布时间】:2014-11-03 10:41:11
【问题描述】:

这是启动异步 ajax 请求的简单sn-p 代码。 请求的处理时间故意过长(10秒或更长)。

为什么浏览器会阻止我的用户在异步请求过程中点击 href 链接? (在 Firefox 和 Chrome 上试过)

异步请求通常被调用,“Ready”消息立即显示在控制台中。

片段:

new Ajax.Request('index.php', {
    method: 'post',
    asynchronous: true,
    parameters: { 'sleep': 10 },
    onSuccess:  function(transport) { console.log('Success'); },
    onFailure: function() { console.log('Error'); }
});

console.log('Ready');

【问题讨论】:

    标签: javascript ajax asynchronous browser locking


    【解决方案1】:

    PHP 是这里问题的原因。当您执行 session_start() 时,PHP 会锁定会话文件,因此不会同时写入该文件,并为正在运行的脚本提供对会话变量的完全访问权限(读取和写入)。

    所以你需要尽快调用 session_write_close()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多