【发布时间】:2012-12-11 00:13:49
【问题描述】:
我正在尝试建立一个评论系统,当用户发送评论时,它会显示在他们的屏幕上,就好像它已经存储在数据库中一样。 我的问题是:如果用户发送 cmets 然后导航离开会发生什么 (或者最具体地说是立即关闭窗口)或者他们在 ajax 发布后失去连接?
在代码方面我有ajax({})...
然后我的代码从 textarea 获取用户输入并将其添加到 div。
这意味着用户可以立即看到他们输入的评论。但我想确定即使连接丢失、窗口关闭或用户导航离开,服务器是否也会获取发布信息。
有关问题的更多信息:
用户向服务器发送一个包含 1mb 值的帖子,然后在一毫秒后立即发送 他/她点击了关闭浏览器窗口的按钮。
服务器是否接收并解析带有ignore_user_abort(true);的响应
在文件里面;帖子信息收到了吗?
对于这种情况,如果它是 get 而不是 post 有什么区别?
假设website.com?myget=value
尝试连接然后立即关闭窗口,例如在浏览器窗口中, 只需在地址栏上点击它,然后立即关闭,想象一下 是自动的。
第 1 步转到website.com?myget=value(根本不等待任何服务器响应,只需
立即(一毫秒或脚本执行此操作所需的任何时间)完全关闭
窗户。
$_GET['myget'] 是否会在 website.com 的 index.php 被服务器端接收?
【问题讨论】:
-
你需要减少重复的句子,兄弟。我很不理解你写的东西。
-
至少对于
ignore_user_abort:在尝试向客户端发送信息之前,PHP 不会检测到用户已中止连接。在进行任何回显/打印之前保存您的数据。 -
@SalmanA
ignore_user_abort如果您尝试输出任何内容,将导致脚本不会死掉。因此,如果调用ignore_user_abort(TRUE),则不需要此建议。
标签: php jquery ajax post response