AJAX不等待响应

时间:2013-12-02 04:45:08

标签: php jquery ajax asynchronous response

我的网页在页面加载时有一个简单的AJAX请求:

$(document).ready(function() {
    $.get("ajax.php?do=something", function(response) {
        alert('response');
    });
});

此请求在我的本地测试计算机上大约需要15秒。 ajax.php确实使用了session_start(),但是直接调用了session_write_close()(几乎在之后 - 在任何密集处理完成之前调用它):

<?php
session_start();

if(empty($_GET['do']))
    die("!Invalid request.");

$do = $_GET['do'];

if($do=="something-else")
{
}
else if($do=="something")
{
    session_write_close();

    $customerId = $_SESSION['customerId'];

    //processing done here
}
?>

问题是一旦这个页面加载,就会触发AJAX,但如果用户点击链接转到另一个页面,浏览器会等待15秒然后重定向。

我想让用户不必等待就转到其他页面,或者如果他们留下,我希望他们看到响应。

编辑只是为了澄清一点。每个页面的顶部都有一个session_start(),包括用户试图访问的那个。

我正在使用ajax.php中的会话,并编辑了原始问题以反映这一点。

1 个答案:

答案 0 :(得分:0)

点击的链接在哪里?链接指向哪里以及它如何与您发布的AJAX相关联?从我看到的AJAX按预期工作。你没有对会话做任何事情,所以你可能没有任何会话开始或关闭。

我会将此作为评论发布,但它不会让我因此我将此作为答案,直到您可以提供更多详细信息。