НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗jsPmJSFS 34 of 61 menu

Передача JSON с сервера через AJAX в PHP

Давайте изучим мы изучим отправку JSON с сервера на клиент.

В этом случае на стороне PHP массив превращается в строку с помощью функции json_encode, а на клиенте строка превращается обратно в массив с помощью JSON.parse.

Давайте посмотрим на примере. Пусть на стороне сервера есть следующий массив:

<?php $data = [1, 2, 3]; ?>

Преобразуем этот массив в JSON:

<?php $data = [1, 2, 3]; echo json_encode($data); ?>

При этом правильным подходом будет отдать соответствующий HTTP заголовок:

<?php $data = [1, 2, 3]; header('Content-Type: application/json'); echo json_encode($data); ?>

Давайте теперь на стороне клиента получим отправленный JSON:

button.addEventListener('click', async function() { let response = await fetch('/ajax.php'); let json = await response.text(); console.log(json); // строка JSON });

Превратим полученный JSON в массив с помощью JSON.parse:

button.addEventListener('click', async function() { let response = await fetch('/ajax.php'); let json = await response.text(); let data = JSON.parse(json); console.log(data); // массив });

Можно упростить код, если вместо метода text использовать метод json объекта response:

button.addEventListener('click', async function() { let response = await fetch('/ajax.php'); let data = await response.json(); console.log(data); // массив });

Дан массив:

<?php $arr = [1, 2, 3, 4, 5]; ?>

Отправьте его на клиент в формате JSON. На клиенте получите этот массив и найдите сумму его элементов.

Дан массив:

<?php $arr = ['a', 'b', 'c', 'd', 'e']; ?>

Отправьте его на клиент в формате JSON. На клиенте получите этот массив и запишите каждый его элемент в отдельный тег li тега ul.

Пусть на сервере дан следующий массив:

<?php $arr = [ [ 'surn' => 'surn1', 'name' => 'user1', 'age' => 25, ], [ 'surn' => 'surn2', 'name' => 'user2', 'age' => 26, ], [ 'surn' => 'surn3', 'name' => 'user3', 'age' => 27, ], ]; ?>

На клиенте по нажатию на кнопку получите этот массив. Выведите элементы полученного массива в виде HTML таблицы.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить