Ich versuche, ein Online-Experiment zu programmieren, das einige Daten mit jQuery und Ajax an ein PHP-Skript sendet, das die Daten in einer Textdatei speichert, und ich habe einige Probleme. Das Skript funktioniert gut, wenn die Daten, die ich posten, klein sind (sagen wir 2kb) und speichert die geposteten Daten korrekt, aber wenn die Daten im Beitrag 4kb oder größer werden, erhalte ich stattdessen einen 404-Fehler, und das PHP-Skript läuft überhaupt nicht (keine Daten werden in der Datei gespeichert), was sehr seltsam ist. Hier ist der entsprechende Javascript- und PHP-Code:
experiment.js:
$.ajax({
url: 'snippets/saveData.php',
data: {"time": time, "experimentStimuli": experimentStimuli, "experimentPredictions": experimentPredictions, "experimentPredictionsEnd": experimentPredictionsEnd},
type: 'POST'
});
saveData.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");
}
Ich habe versucht, eine absolute URL anstelle einer relativen zu verwenden, aber es macht keinen Unterschied (die relative URL funktioniert gut für kleine Daten), auch habe ich versucht, header('HTTP/1.1 200 OK'); am Anfang meines PHP-Skripts zu setzen, aber das scheint auch nicht zu funktionieren. Während die Basis meiner Website Wordpress ist, ist der Code meines Experiments davon getrennt und benötigt keine Wordpress-Funktionen, aber die 404-Fehlerseite, die angezeigt wird, ist die Wordpress 404-Seite. Ich habe das Gefühl, dass Wordpress irgendwie stört (auch weil es lokal gut funktioniert), aber ich bin nicht sicher, wie ich das Problem beheben kann. Hat jemand eine Idee?