【发布时间】:2012-07-03 14:47:34
【问题描述】:
我正在尝试编写一个在线实验,该实验使用 jQuery 和 ajax 将一些数据发布到一个 PHP 脚本,该脚本将数据保存到文本文件中,但我遇到了一些问题。当我发布的数据很小(比如 2kb)并且会正确保存发布的数据时,脚本可以正常工作,但是当帖子中的数据变为 4kb 或更大时,我会收到 404 错误,并且 PHP 脚本不会在all(没有数据保存到文件中),这很奇怪。以下是相关的 javascript 和 PHP 代码:
experiment.js:
$.ajax({
url: 'snippets/saveData.php',
data: {"time": time, "experimentStimuli": experimentStimuli, "experimentPredictions": experimentPredictions, "experimentPredictionsEnd": experimentPredictionsEnd},
type: 'POST'
});
保存数据.php:
$_SESSION['user']['experimentStimuli'] = $_POST['experimentStimuli'];
$_SESSION['user']['experimentPredictions'] = $_POST['experimentPredictions'];
$_SESSION['user']['experimentPredictionsEnd'] = $_POST['experimentPredictionsEnd'];
foreach($_SESSION['user']['experimentStimuli'] as $key => $value) {
foreach($value as $key2 => $value2) {
fwrite($fh, $value2);
}
fwrite($fh, "\n");
}
foreach($_SESSION['user']['experimentPredictions'] as $key => $value) {
foreach($value as $key2 => $value2) {
fwrite($fh, $value2);
}
fwrite($fh, "\n");
}
foreach($_SESSION['user']['experimentPredictionsEnd'] as $key => $value) {
foreach($value as $key2 => $value2) {
fwrite($fh, $value2);
}
fwrite($fh, "\n");
}
我尝试使用绝对 URL 而不是相对 URL,但没有区别(相对 URL 适用于小数据),我也尝试使用 header('HTTP/1.1 200 OK');在我的 PHP 脚本的顶部,但这似乎也不起作用。虽然我的网站的基础是 Wordpress,但我的实验代码与它是分开的,不需要任何 Wordpress 功能,但它显示的 404 错误页面是 Wordpress 404 页面。我有一种感觉,Wordpress 可能会以某种方式干扰(也因为它在本地运行良好),但我不确定如何解决它。有什么想法吗?
【问题讨论】:
-
如果你得到 404.its 文件未找到。
-
这可能是由 .htaccess 将您的查询重定向到不知道如何将 URL 处理为有意义的内容的 WordPress 引起的。如果是这种情况,了解 WordPress 以及它如何控制 .htaccess 文件的人可以帮助您。
-
我在 phonegap(crosswalk) 应用程序中遇到了类似的问题。在网络应用程序中,数据图像已发布,但在应用程序中,当文件存在并配置白名单插件时,我得到 404。您发布的数据似乎有帖子大小(或 json)限制