【问题标题】:Complex submit form using AJAX to process additional script使用 AJAX 处理附加脚本的复杂提交表单
【发布时间】:2009-06-23 22:14:19
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

  • 您的意思是“它不会处理其他请求吗?” ?

标签: jquery ajax forms submission


【解决方案1】:

如果请求需要几秒钟以上的时间,您可能应该:

  • 在拨打电话后禁用“提交”按钮,这样他们就不会一次又一次地尝试重新提交表单。
  • 在屏幕上显示某种消息,通知他们他们的请求正在处理中,请他们继续等待!
  • 在消息中显示某种animated indicator

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-01-27
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多