0

我有一个以传统(非ajax)方式提交的现有注册表单。我想拼接一些 Javascript,以便我可以使用此表单中的一些数据来填充另一个数据库中的其他字段。如果此插入需要大量时间(一分钟),页面是否会被锁定,直到 AJAX 调用返回?

<script language="javascript">
$(document).ready(function(){   
    $("#setupform").submit(function(){
        doAJAXcallHERE();
    });
});
</script>

基本上,如果 AJAX 函数调用的 PHP 页面需要超过一分钟的时间来处理,我的网页是否会停止运行?

谢谢!

4

2 回答 2

1

如果请求将花费超过几秒钟的时间,您可能应该:

  • 拨打电话后禁用提交按钮,这样他们就不会一次又一次地尝试重新提交表单。
  • 在屏幕上显示某种消息,通知他们他们的请求正在处理中,要求他们坚持下去!
  • 与消息一起显示某种动画指示器。

特别是最后两点将确保用户意识到幕后发生的事情此外,如果您预计请求需要很长时间,请确保相应地调整您的 Web 服务器超时设置。

于 2009-06-23T22:22:06.033 回答
0

已经正确回答但我想添加更多...在 php 页面上,您需要使用设置最大执行时间通过set_time_limit(0). 您的 ajax 提交脚本必须优化好。特别是 IE6 在使用 ajax 提交文件和发布数据时有很多问题。如果您使用奇怪的技术(我经常使用),您可能需要将您的脚本更改为一个简单的 1. 前一段时间我遇到了 IE6 的问题,就像您的一样。浏览器阻止了自己。只是因为用于序列化几个单选按钮的数组定义。所有其他浏览器都可以很好地使用该脚本,但 IE6 会停止、等待和等待……即使 IE7 运行良好。

顺便说一句,您似乎正在使用 Jquery ...我建议您在 malsup.com 上使用 jquery blockui 插件。您还需要通知您的访客/客户等待。

于 2009-06-23T22:45:02.583 回答