0

对不起,如果这有点到处都是。我有一个奇怪的问题,我不完全确定原因(因为我无法重现它,但我可以通过 apache 日志看到它存在)

我有一些代码失败,因为它传递了不正确的数据,数据通过ajax调用传递给javascript中的php脚本(使用dhtmlxAjax.post)

有时,在 ajax 调用中传递的这些数据已经从另一个 ajax 调用返回到 php 后端。

无论如何,最终结果是传递给 PHP 的数据不正确。有时我看到它试图发布整个网页内容,而不是例如一个 id。

对我来说,放入 ajax 帖子的数据是错误的(还是 $_POST 变量已损坏?)

我在某处读到连接速度慢或某些浏览器/ISP?不要在标头中发送内容长度或其他内容,apache可以将请求分块,这可能是一个潜在的问题?

我不知道我是否在吠叫错误的树,所以非常感谢任何关于如何潜在地调试这个问题的指针或提示。

目前我无法让它自己失败,但我只能看到 apache 日志中的失败查询。

谢谢


更新 1

我不认为这仅限于 ajax 调用。我一直在查看其他一些偶尔出现的错误,它们来自表单帖子(通过 javascript 使用 document.forms["myform"].submit(); )

所以这不会是一个 ajax 特定的问题。

这可能是因为 apache 的流量超载或类似的东西,因此 POST 变量乱码?

更新 2

我已经安装了 log4javascript 和 errorception(我强烈推荐!http ://errorception.com/ )

而且我注意到被调用的 URL 被破坏的奇怪情况。

我注意到 URL 字符串中的很多 GET 变量后面都有这个

¤t

例如

page.php?a=111&b=222¤t&c=333

任何想法该符号的含义是什么?

我也有几次 javascript 文件说它们无法下载

The download of the specified resource has failed.

还有一些javascript错误实例说“)预期”

但问题是当我使用它时页面永远不会失败,并且可能不会失败很多,因为没有用户抱怨任何问题。

所以我猜它在极少数情况下会失败,用户只是刷新页面。

但我想深入了解导致这些随机故障的原因。

无论如何记录apache以知道它是否未能返回页面(或变得超载?)

更新 3

好的,所以我注意到 URL 中的随机字符

参数应该说“currentClassification”

但它以“¤tClassification”的形式出现

所以网址应该是

page.php/param=1&currentClassification=2&third=3

但它的出现是

page.php/param=1&¤tClassification=2&third=3

那么这个 URL 怎么会被破坏呢?Apache、PHP 还是 JavaScript?

更新 4

只是一个快速更新,调用此 url 的行位于 php“Header”重定向中。

例如

header("Location: page.php/param=1&currentClassification=2&third=3");
exit();

这会对任何事情产生影响吗?

4

0 回答 0