在Ajax调用过程中进行页面导航

时间:2012-08-14 03:08:23

标签: ajax

在我们的应用程序中,我们在最终提交按钮上进行ajax调用,并在其中显示带有进度条的模式对话框。成功处理后,将使用响应更新对话框。现在我的要求是将模态对话框更改为非对话框,并允许用户在ajax调用完成时导航到另一个页面。

如果我将模态窗口更改为非模态窗口会有什么影响。 ajax呼叫是否仍会继续或是否会中止。如果它继续,它将引用对话框以使用响应更新它。

请告诉我你的意见。

2 个答案:

答案 0 :(得分:1)

无论你在播放视图的过程中进行AJAX调用时做什么,都不会影响AJAX调用本身。只要你让AJAX调用完成并在回调中显示更改,你就可以了。 毋庸置疑,你不能改变你的实际页面,但如果我理解你的话,你还是不要这样做。

答案 1 :(得分:1)

一个简单的实验来尝试这个想法

我写了一个简单的示例,其中有一个HTML页面,该页面带有指向另一个页面的链接。当我单击该链接时,它将AJAX请求发送到一个模拟较长过程(等待10秒)的PHP脚本,然后在会话中更改变量。然后目标页面回显该变量。

当我单击该链接时,该页面会启动一个较长的AJAX请求,但也会导航到另一个页面。结果是AJAX请求被取消,而另一页则打印“无”。

这是server.php:

session_start();
$x = isset($_SESSION['x']) ? $_SESSION['x'] : 0;
sleep(10); /* simulates long process */
$_SESSION['x'] = ++$x;
echo $x;

index.html(重要部分):

<a href="other.php">Click here</a>

index.html(在