繁体   English   中英

PHP可以检测到不完整的xmlhttprequest.send(data)命令吗?

[英]Can PHP detect an incomplete xmlhttprequest.send(data) command?

我看到错误日志是由于发布数据似乎被截断引起的。 调试之后,我的猜测是问题在于我们正在使用xmlhttprequest进行发布,并且用户在发送整个发布数据之前关闭了浏览器。

这是我们的js代码:

httpReq = new XMLHttpRequest();
httpReq.open("POST", url,false);
httpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpReq.send(param);

除了找出缺少的post参数之外,是否有其他方法可以检测PHP方面的不完整发送? (因为它们是动态的,所以我们不能这样做。)

2011-02-27编辑:

例如,客户端发送如下消息:

&obj1_name=Greeting&obj1_type=string&obj1_value=hello&obj1_id=34

obj1_id是必填字段,用于存储有关对象的其余详细信息。 但有时我们会收到类似以下的字符串:

&obj1_name=Greeting&obj1_type=string

我的目标是告诉一个破碎的客户端(即一个意思发送短字符串)之间,我们需要解决和工作的客户端已关闭太早(即一个意思发送长字符串),我们的区别,可以避免不可避免的错误。

您可以看一下这个函数: connection_aborted 仅当您设置ignore_user_abort(true)此方法才有效。 现在,即使用户单击了中止按钮,该脚本也将继续运行。 然后,您必须检查connection_aborted函数,并在必要时丢弃数据。

另一种方法是在脚本末尾保存某种标志,以将数据标记为已完全处理。 如果未设置该标志,则可以丢弃数据。

我已经意识到我们只是需要来自客户端的更多信息才能做到这一点。 为此,我们在客户端添加了一个已知的终止值。 如果服务器看到该参数时未设置该最终参数,则表示该提交不完整。

我不会这么想,因为PHP是服务器端的,而XmlHttpRequests是客户端的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM