2

jQueryとajaxを使用してデータをテキストファイルに保存するPHPスクリプトに投稿するオンライン実験をプログラムしようとしていますが、いくつかの問題があります。投稿するデータが小さい (たとえば 2kb) 場合、スクリプトは正常に動作し、投稿されたデータを正しく保存しますが、投稿内のデータが 4kb 以上になると、代わりに 404 エラーが発生し、PHP スクリプトが実行されません。 all (データはファイルに保存されません)。これは非常に奇妙です。関連する JavaScript と PHP コードは次のとおりです。

実験.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");
}

相対 URL の代わりに絶対 URL を使用してみましたが、違いはありません (相対 URL は小さなデータには問題なく機能します)。私のPHPスクリプトの一番上にありますが、これもうまくいかないようです。私のウェブサイトのベースは Wordpress ですが、私の実験コードは Wordpress とは別のもので、Wordpress の機能は必要ありませんが、表示される 404 エラー ページは Wordpress の 404 ページです。Wordpress が何らかの形で干渉しているように感じますが (これもローカルで正常に動作するため)、修正方法がわかりません。何か案は?

4

2 に答える 2

0

php.ini で次のことを確認してください。

  • post_max_size
  • memory_limit

それらのいずれかに 4kb の制限がある場合、投稿リクエストは失敗します。ここmemory_limitが よりも優先されpost_max_sizeます。通常、memory_limitよりも大きくする必要がありpost_max_sizeます。

ここで、整数が使用される場合、値はバイト単位で測定されます。より大きなサイズの値を変更するには、K(キロ)、M(メガ)、およびG(ギガ) を使用できます。例など10K_2M

于 2012-07-03T10:46:18.163 に答える
0

wordpress での Ajax の処理は少し異なります。ここをお読みください: http://codex.wordpress.org/AJAX_in_Plugins この記事では、Wordpress で AJAX を使用する方法を管理者とユーザーの両方で簡単に説明します。 - 終わり 。「プラグインのajax」と呼ばれていても、実際には wordpress で ajax を処理する最も簡単な方法について説明しています。

于 2012-07-03T09:35:32.893 に答える