Передача Javascript-переменной в PHP, когда она была вставлена ​​AJAX - PullRequest
0 голосов
/ 11 апреля 2011

Прежде всего, большое спасибо всем, кто до сих пор помог мне на этом сайте. Вы, ребята, были великолепны и действительно много раз спасали мою жизнь, пытаясь завершить мою диссертацию.

Вот сделка. Я создаю эксперимент, который выполняется на одной странице и перезагружает содержимое из файла php через ajax для каждого испытания. Для каждого испытания мне нужно регистрировать время, когда субъект нажимает определенную кнопку, и пару фрагментов информации о процессе, потому что они выбираются случайным образом, поэтому я должен иметь возможность связать время нажатия с определенным испытанием.

Пока все отлично работает. Я настроил его так, что я загружаю и запускаю сценарии PHP с ajax при каждом щелчке, и я ввел небольшой раздел сценариев, который содержит все важные переменные для каждого испытания. Скрипт PHP, который собирает время, работает отлично, и скрипт, который собирает пробную информацию, работает, но ему не удается $ _GET правильно определить переменные javascript.

Так близко, но так далеко! Может кто-нибудь мне помочь? Мне просто нужно иметь возможность собирать переменные javascript с сайта, тогда я в порядке.

Вот весь мой контент, так что вы можете наблюдать и играть с ним.

Страница эксперимента . Он настроен на вывод оповещения, содержащего информацию прямо из переменных JS, после каждого клика по пробной версии, которую он собирается запустить, чтобы вы могли быть уверены, что они загружаются правильно.

Мой бэкэнд JS логика . Важные вещи находятся внизу сценария, в категории «Аудио логика»

Файл журнала . Каждый раз, когда проводится эксперимент, все данные появляются здесь. Вы заметите, что, хотя скрипт PHP работает, он просто не выводит переменные, полученные из JS.

... и вот мой PHP-код, который должен получить переменные JS. (Loginfo.php)

$trialID = $_GET['trialID'];
$type = $_GET['type'];
$trick = $_GET['trick'];
$file = "log.txt";
$fh = fopen($file, 'a') or die("You just failed the entire experiment");
fwrite($fh, "\n Trial ID: ".$trialID." | Trial Type: ".$type." | Trick? ".$trick);
fclose($fh);

Этот код вызывается после того, как переменные уже были загружены, и я показал, что они правильно загружаются с помощью небольшого окна предупреждения. Что мне не хватает? Почему этот код PHP не собирает переменные?

Большое спасибо за помощь:)

Ответы [ 2 ]

2 голосов
/ 11 апреля 2011

Javascript не имеет отношения к сессиям, он имеет дело с файлами cookie (как язык сценариев только для клиентов). Таким образом, вам нужно передать параметры с запросом GET. Подробности перечислены в документации jQuery :

$. Get ("test.php", {name: "John", время: "2 часа дня"});

1 голос
/ 11 апреля 2011

Что ж, jquery ajax по умолчанию публикует информацию, если вы не укажете использовать get (если я правильно помню), поэтому попробуйте изменить $_GET s в вашем php на $_POST s.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...