Выпадающий список из базы postgresql на веб странице

Пытаюсь добавить на страницу выпадающий список из базы postgresql , но при попытки загрузке страницы 502 Bad Gateway nginx/1.18.0 (Ubuntu)

В логе nginx - *2024/01/13 11:03:39 [error] 3351375#3351375: 1 upstream prematurely closed connection while reading response header from upstream, client: (тут мой ip), server: livsi-games.ru, request: "GET /sql_test.html HTTP/1.1", upstream: "h>

Я проверил, скрипт php к базе подключается, результат дает в таком формате ["Green","Red"] , если просто выводить результат запроса к скрипту на веб страницу - все прекрасно выводится.

В чем сложность не могу понять.

Сам php скрипт

<?php
// Connect to PostgreSQL
$host = "localhost";
$port = "5432";
$dbname = "test_db";
$user = "login";
$password = "pass";

$db = pg_connect("host=$host port=$port dbname=$dbname user=$user password=$password");

// Query to fetch values from the database
$query = "SELECT color FROM test";
$result = pg_query($db, $query);

// Collect the colors in an array
$colors = array();
while ($row = pg_fetch_array($result)) {
    $colors[] = $row['color'];
}

// Convert the array to JSON and output it
header('Content-Type: application/json');
echo json_encode($colors);

// Close database connection
pg_close($db);
?>

Страница на которую я пытаюсь добавить выпадающий список через AJAX

<!DOCTYPE html>
<html>
<head>
    <title>Colors Dropdown</title>
    <!-- Включение jQuery -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <h2>Select a color:</h2>
    <select id="colorSelect">
        <!-- Здесь будут добавлены варианты цветов -->
    </select>

    <script>
        $(document).ready(function(){
            $.ajax({
                url: 'get_colors.php',
                method: 'GET',
                dataType: 'json',
                success: function(response) {
                    response.forEach(function(color) {
                        $('#colorSelect').append('<option>' + color + '</option>');
                    });
                },
                error: function(xhr, status, error) {
                    console.log('Error occurred: ' + status);
                }
            });
        });
    </script>
</body>
</html>

Страница где по аналогии просто выводитяться значения из таблицы без каких либо сложностей

<!DOCTYPE html>
<html>
<head>
    <title>AJAX Request Example</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <h1>AJAX Request Example</h1>
    <p id="responseText">Response will be displayed here</p>

    <script>
        $(document).ready(function(){
            $.ajax({
                url: 'get_colors.php', // Путь к файлу PHP на сервере
                method: 'GET', // Метод запроса
                dataType: 'json', // Указываем, что ожидаем JSON в ответе
                success: function(response) {
                    // Отображаем ответ на странице
                    response.forEach(function(color) {
                        $('#responseText').append(color + '<br>');
                    });
                },
                error: function(xhr, status, error) {
                    $('#responseText').text('Error occurred: ' + status); // В случае ошибки, отображаем сообщение об ошибке
                }
            });
        });
    </script>
</body>
</html>

Ответы (0 шт):