2 Stimmen

jQuery Ajax post to PHP-Skript gibt 404 Fehler

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?

0voto

krembo99 Punkte 1471

Ajax in Wordpress wird ein wenig anders gehandhabt, Bitte lesen Sie hier: http://codex.wordpress.org/AJAX_in_Plugins Dieser Artikel erklärt auf einfache Art und Weise, wie man AJAX in WordPress verwenden kann, sowohl für das Admin - Ende als auch für das User - Ende. Auch wenn es "ajax" genannt wird in Plugins "Es beschreibt den einfachsten Weg, Ajax in Wordpress zu handhaben.

0voto

G S Bajaj Punkte 84

Bitte überprüfen Sie Ihre php.ini auf folgende Punkte:

  • post_max_size
  • memory_limit

Wenn eine davon ein Limit von 4kb hat, wird Ihre Postanforderung fehlschlagen. Hier memory_limit hat den Vorrang vor post_max_size . Im Allgemeinen, memory_limit sollte größer sein als post_max_size .

Wenn hier eine ganze Zahl verwendet wird, wird der Wert in Bytes gemessen. Um die Werte in größeren Größen zu ändern, können Sie verwenden K (Kilo), M (mega) und G (Giga). Beispiel 10K , 2M etc.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X