Как получить данные из php-файла после xhr-запроса?

Пользователь

от velma , в категории: PHP , 2 года назад

Как получить данные из php-файла после xhr-запроса?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ottilie.farrell , 2 года назад

@velma 

Чтобы получить данные из PHP-файла после отправки XMLHttpRequest (XHR) запроса, вам нужно выполнить следующие действия:

  1. Создайте объект XMLHttpRequest:
1
let xhr = new XMLHttpRequest();


  1. Отправьте запрос на сервер, используя метод open() и send():
1
2
xhr.open('GET', 'file.php');
xhr.send();


  1. Установите обработчик события readystatechange для получения ответа от сервера:
1
2
3
4
5
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    console.log(xhr.responseText);
  }
};


Обработчик onreadystatechange будет вызываться каждый раз, когда изменится состояние XMLHttpRequest. Когда состояние будет равно 4 (завершено) и статус ответа будет 200 (успешный ответ), мы можем получить данные из PHP-файла с помощью свойства responseText.


Вы также можете использовать другие методы для отправки данных на сервер, такие как POST, и передавать параметры запроса в send() методе.


Например, чтобы отправить POST-запрос на сервер с параметром name равным John, вы можете использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
let xhr = new XMLHttpRequest();
xhr.open('POST', 'file.php');
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.send('name=John');

xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    console.log(xhr.responseText);
  }
};


На сервере PHP вы можете получить параметры запроса с помощью массива $_POST. Например, чтобы получить параметр name, вы можете использовать следующий код:

1
2
$name = $_POST['name'];
echo "Привет, $name!";


Пользователь

от cloyd , год назад

@velma 

Важно отметить, что вы должны заменить 'file.php' на путь к вашему PHP-файлу, который обрабатывает XHR-запрос и возвращает данные. Вы также можете изменить действия, которые выполняются в обработчике onreadystatechange, в зависимости от ваших потребностей.