ajax如何运作?

时间:2013-10-17 12:59:54

标签: php ajax

我有2页。一个是form.php和ajaxprocessing.php

当用户点击form.php上的提交按钮时,它将使用ajax调用ajaxprocessing.php。这个ajaxprocessing.php有一个循环,比如做50,000次数据库插入查询或一些函数。

我的问题是,即使用户点击form.php中的提交按钮并关闭浏览器或关闭PC,ajaxprocessing.php仍将继续在服务器中执行吗?

它如何在幕后工作?

2 个答案:

答案 0 :(得分:1)

默认情况下,如果客户端断开连接,PHP执行将终止。因此,如果您的ajax调用超时或断开连接,那么PHP将停止运行。可以通过打开配置设置ignore_user_abort来更改此行为。

来自php.ini中的评论:

  

如果启用,即使用户中止
,也可以完成请求   ;请求。如果执行长请求,请考虑启用它,这可能会结束   ;被用户或浏览器超时中断。 PHP的默认行为
  ;是禁用此功能。
  ; http://php.net/ignore-user-abort

答案 1 :(得分:0)

测试脚本是否继续运行的方法是在PHP脚本的底部插入这样的内容。

mail('your@email.com', 'Script done', 'The script is now done');

这将在脚本完成后向您发送电子邮件 - 如果sendmail安装在原因服务器上。这样,您将在关闭浏览器后知道脚本是否继续运行。