使用javascript在iframe中发布表单,但iframe源不会随着文件的增大而改变

Using javascript to post form in iframe, but the iframe source does not change with larger files

本文关键字:iframe 文件 改变 javascript 布表单 使用 表单      更新时间:2023-09-26

我在这个页面上有很多javascript,这样用户就可以填写包含文件上传字段的表单。他们可以将这些表单添加到一个"队列"中,该队列只是一系列iframe,其中移动了表单数据。只需单击一个按钮,它就会遍历每个表单,并一次提交一个表单。当每个表单提交时,我都会加载一个gif来显示有操作。当处理页面完成时,它将向iframe吐回一些jquery,并给出成功或错误消息。只要文件不太大,这就很好用。较大的文件(接近1GB)似乎会导致处理页面中的jquery永远不会出现在iframe中。这是灾难性的,因为提交页面将不会继续提交表单,除非它得到某种响应。此外,用户留下的是一个永远不会消失的旋转图像,并且不确定是否真的上传了一个大文件。我已经尝试将max_execution_time和max_input_time设置了一个小时,但这根本没有帮助。目前使用jquery/javascript循环浏览每个表单并提交。有人能告诉我为什么会发生这种情况和/或如何解决这个问题吗?

您可以使用jQuery-ajax将超时设置为更长-从文档中。

timeoutNumber为请求设置超时(以毫秒为单位)。这将覆盖使用$.ajaxSetup()设置的任何全局超时。超时期从进行$.ajax调用时开始;如果其他几个请求正在进行中,而浏览器没有可用的连接,则请求可能会在发送之前超时。在jQuery1.4.x及以下版本中,如果请求超时,XMLHttpRequest对象将处于无效状态;访问任何对象成员都可能引发异常。仅在Firefox 3.0+中,脚本和JSONP请求不能因超时而取消;即使脚本在超时后到达,它也会运行。