我有一个html表单,它将一个动作设置为我的服务器上的一个php脚本。该脚本发出web服务请求并需要几秒钟才能运行。该PHP脚本然后有一个HTML体,它的onload属性设置为关闭窗口。这个想法是,用户提交表单后,窗口关闭,请求被发送到服务器。然而,由于有几秒钟的延迟,用户点击提交,然后它会挂起,直到所有web服务完成,然后php脚本按预期关闭窗口。HTML在等待服务器时隐藏窗口
我正在寻找,只是让它看起来好像更快,也许隐藏窗口右键,因为他们提交而无需等待PHP脚本完成。有没有办法做到这一点?提前致谢。
如果数据立即关闭,数据将不会被提交。你可以尝试客户端JavaScript来做到这一点。 – Zhianc
如果这是一个由您网站上的另一个页面打开的弹出窗口,您可以使用javascript('window.parent')从父页面进行提交。这样,关闭弹出窗口不会中断处理。如果你使用AJAX,父页面不必重新加载或任何东西。 – grossvogel
在php手册中有一个用户评论,描述了一种让浏览器断开连接但让脚本在服务器上运行的方式。 http://www.php.net/manual/en/features.connection-handling.php#104541(还有其他一些使用过程控制或系统命令的方法,但是这很简单,如果它工作的话)没有尝试过,所以YMMV。 – grossvogel