Я пытаюсь запрограммировать онлайн-эксперимент, который отправляет некоторые данные с помощью jQuery и ajax в скрипт PHP, который сохраняет данные в текстовый файл, и у меня возникают некоторые проблемы. Сценарий отлично работает, когда данные, которые я публикую, являются небольшими (скажем, 2 кбайт) и будут правильно сохранять опубликованные данные, но когда данные в сообщении становятся 4 кбайт или больше, я получаю ошибку 404 вместо этого, а скрипт PHP не запускается на все (данные не сохраняются в файл), что очень странно. Вот соответствующий яваскрипт и PHP код:jQuery Сообщение Ajax для PHP-скрипта дает ошибку 404
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");
}
Я попытался использовать абсолютный URL вместо относительного одного, но он делает нет разницы (относительный URL-адрес отлично подходит для небольших данных), также я попытался поставить заголовок («HTTP/1.1 200 OK»); в верхней части моего PHP-скрипта, но это тоже не работает. Хотя базой моего сайта является Wordpress, мой код эксперимента отделен от него и не требует каких-либо функций Wordpress, но на странице 404 ошибки отображается страница Wordpress 404. У меня такое ощущение, что Wordpress может каким-то образом вмешиваться (также потому, что он работает нормально локально), но я не уверен, как это исправить. Есть идеи?
если у вас 404.its файл не найден. – Dgo
есть у firebug? – Dgo
Возможно, это связано с перенаправлением вашего запроса в .htaccess WordPress, который не знает, как обрабатывать URL-адрес для чего-то значимого. Кто-то, кто знает WordPress и как он управляет файлом .htaccess, может с надеждой помочь вам, если это так. – h00ligan