Попытка проработать еще несколько деталей о XMLHttpRequest

Итак, вот что я пытаюсь сделать. У меня есть форма, и одним из значений является имя пользователя. Я хочу проверить, существует ли это имя пользователя в базе данных. Поэтому я установил функцию JavaScript в качестве onsubmit для формы. В функции у меня есть

xhttp.open("POST","AjaxTest.php",false);
xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhttp.send("Username=Leroy1981&Found=0");

A он направляет к нужному файлу, но Я не знаю, как получить доступ к данным, отправленным в команде отправки, и я до сих пор не знаю, как отправить результат после того, как файл php проверил базу данных на наличие предоставленного имени пользователя. Username является типом ввода в форме, поэтому он отправляется, но я получаю неопределенную константу для Found.

Другой вопрос, как установить ответ XMLHttpRequest в файле php? Я, вероятно, мог бы понять, как получить это и просто отправить «Найдено» или «Не найдено», но не знаю, как получить к нему доступ в файле php. Кроме того, он не возвращается автоматически из php-файла, когда это делается, как я думал, это сработало.

Другой вопрос, как мне установить ответ XMLHttpRequest в файле php? Вероятно, я мог бы понять, как получить это и просто отправить «Найдено» или «Не найдено», но не знаю, как получить к нему доступ в файле php. Кроме того, он не возвращается автоматически из php-файла, когда это делается, как я думал, это сработало.

Leroy1981 09.04.2019 13:37

Кстати, супер новичок в веб-программировании. В случае, если эта часть не была очевидна

Leroy1981 09.04.2019 13:43

Я проголосовал за то, чтобы закрыть это как дубликат, как это действительно кажется. Если это НЕ так, отредактируйте свой вопрос, указав гораздо больше кода, включая полный набор кода, который вы пытаетесь использовать, с подробностями о том, почему и где он НЕ работает, чтобы мы могли помочь вам лучше.

Mark Schultheiss 09.04.2019 14:07
xhttp.open("POST","AjaxTest.php",false); — Вы делаете синхронный запрос. Это устарел и блокирует пользовательский интерфейс, пока запрос находится в полете. Не делай этого.
Quentin 09.04.2019 14:10

«как мне установить ответ XMLHttpRequest в файле php» — так же, как вы устанавливаете ответ в любом другом файле PHP. Тот факт, что запрос был инициирован JS, не имеет значения.

Quentin 09.04.2019 14:10
I don't know how to access the data send in the send command в ajaxtest.php данные будут в массиве $_POST.
James 09.04.2019 14:13

Это дает мне ошибку, когда я обращаюсь к $_POST[]. Неопределенная константа или идентификатор. сейчас на работе, проверить не могу

Leroy1981 09.04.2019 15:49
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
7
33
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете вызвать свой файл с помощью этой функции

function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("demo").innerHTML =
      this.responseText;
    }
  };
  xhttp.open("GET", "AjaxTest.php?Username=Leroy1981", true);
  xhttp.send();
}

Вывод будет в переменной this.responseText

Ваш файл PHP должен выглядеть примерно так

$user = $_GET['User'];
//Your db operations
$yourResponse = "whatever you want";
echo $yourResponse; //This will be your responseText in JavaScript

Итак, что бы я ни повторил в конце php-скрипта, это то, что тогда находится в responseText? Думаю, я мог бы использовать GET, просто отправив имя пользователя и установив для $_POST['username] значение EMPTY, если его еще нет в базе данных.

Leroy1981 09.04.2019 15:53

Спасибо за информацию. Посмотрел и увидел, что так оно и есть. Об эхо-настройке responseText

Leroy1981 09.04.2019 19:20

Если мой ответ помог вам, отметьте его, чтобы другие люди с такой же проблемой могли его увидеть

Donny 09.04.2019 21:48

Другие вопросы по теме