Как правильно передать массив данных из PHP в AJAX?

Как изменить код, чтобы получать значение поля "channel_" + значение переменной "expChannel_1" из объекта "data", а не использовать фиксированное значение "channel_1"?
Изображение к вопросу
  • 1 октября 2023 г. 4:47
Ответы на вопрос 2
Для передачи массива данных из PHP в AJAX можно воспользоваться функцией json_encode, которая преобразует данные в формат JSON. Затем, в AJAX можно использовать метод JSON.parse для преобразования JSON обратно в JavaScript объекты.

Пример кода на PHP:

```php
$array = array(
   "channel_1" => "значение1",
   "channel_2" => "значение2",
   // ... другие элементы массива
);

echo json_encode($array);
```

Пример кода на JavaScript с использованием AJAX:

```javascript
var xmlhttp = new XMLHttpRequest();
var url = "your_php_file.php";

xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        var data = JSON.parse(this.responseText);
        var expChannel_1 = "номер_канала";
        var channelValue = data["channel_" + expChannel_1];
        console.log(channelValue);
    }
};

xmlhttp.open("GET", url, true);
xmlhttp.send();
```

В приведенном примере, переменная `data` будет содержать объект с данными, полученными из PHP. Затем, вы можете использовать переменную `expChannel_1` для создания строки вида "channel_номер_канала" и получения значения соответствующего канала из объекта `data`.
Переменная `resChannel_1` взята из списка `data[i]`.
Похожие вопросы