Проблема AJAX с получением данных из PHP

У меня проблема с получением данных из моего PHP-скрипта. Я отправляю данные формы через AJAX в PHP, но кажется, что значения пусты, но в моем URL-адресе установлены значения. Итак, почему я не возвращаю свои значения в JavaScript.

Вот мой код:

<!doctype html>
<html>
    <head>
        <title>Schachbrett</title>
        <meta charset = "utf-8">
        <style>
            table {
                width: 800px;
                height: 800px;
                border: 1px solid black;
            }
            table tr:nth-child(even) td:nth-child(even), table tr:nth-child(odd) td:nth-child(odd) {
                width: 100px;
                height: 100px;
                background-color: black;
            }
        </style>
        <script>
            window.onload = function() {
                document.getElementById("button").onclick = pre_generate;
            }

            function pre_generate() {
                request = new XMLHttpRequest();
                var columns = document.getElementById("columns").value;
                var rows = document.getElementById("rows").value;
                var url= "chess2.php?columns = "+columns+"&rows = "+rows;
                request.onreadystatechange = generate;
                request.open("GET", url, true);
                request.send(null);
            }

            function generate() {
                if (request.readyState === 4 && request.status === 200) {
                    alert(request.responseText);
                }
                else {

                }
                //
                /*for(var i=0; i<=8; i++) {
                    document.getElementsByTagName("table").innerHTML = "<tr id='"+i+"'></tr>";
                    for(var j=0; j<=8; j++) {
                        document.getElementsById(i).innerHTML = "<td></td>";
                    }
                }*/
                //document.getElementsByTagName("table").css("width", 100*columns+"px").css("height", 100*rows+"px");

            }
        </script>
    </head>
    <body>
        <form action = "" method = "">
            <input id = "columns" type = "text" name = "columns" placeholder = "Zeilen">
            <input id = "rows" type = "text" name = "rows" placeholder = "Spalten">
            <input id = "button" type = "submit" name = "send" value = "Generieren">
        </form>
        <table>
        </table>
    </body>
</html>

PHP:

<?php
    if (isset($_GET['columns']) && isset($_GET['rows'])) {
        $cols = $_GET['columns'];
        $rows = $_GET['rows'];

        echo $cols . "|" . $rows;
    }
    /*else {
        alert("Bitte geben Sie die Anzahl der Spalten und Zeilen ein!");
    }*/
?>

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

Ваш URL - "chess2.php?cols = "+columns+"rows = "+rows;, и все же вы пытаетесь получить одно значение как $_GET['columns'] - cols != columns.

Nigel Ren 02.02.2019 18:27

Извиняюсь неправильно написал. Я изменил его в коде, но он все равно не работает.

Green 02.02.2019 18:34

еще одна маленькая загвоздка: var url= "chess2.php?columns = "+columns+"&rows = "+rows; не забывайте & между переменными

jibsteroos 02.02.2019 18:36

следите за консолью на наличие ошибок .. потому что я думаю, что вы получите request undefined .. поэтому после внесения изменений, как упоминалось в предыдущих комментариях .. сначала используйте request.onreadystatechange = function(){ // Check the status Here }, прежде чем поместить его в другую функцию generate .. Если вы получили ожидаемое предупреждение из него вы можете проверить статус в другой функции

Mohamed-Yousef 02.02.2019 19:34

request.readyState равен 4, а request.status равен 200. Все в порядке, но request.responseText по-прежнему пуст. Я не знаю, может быть, мой сервер делает странные вещи или что-то в этом роде.

Green 02.02.2019 23:14
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
65
0

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