PHP не отправляет полный ответ XHR? - PullRequest
0 голосов
/ 06 апреля 2020

У меня проблема с XHR и PHP. У меня есть страница html, которая динамически изменяется в зависимости от пользовательского ввода, когда им нравятся их изменения, они сохраняют sh, который javascript отправляет XHR в файл PHP, чтобы обработать данные и поместить их в базу данных. Javascript также ПОЛУЧАЕТ данные из БД при загрузке страницы. Мой код прекрасно работает на моем локальном хосте (сервере WAMP), но когда я загружаю его на работающий сервер, я получаю только оператор PHP echo в моем файле PHP. Я не получаю ошибок нигде. Вот мой javascript код:

function displayCards() {
    const xhr = new XMLHttpRequest();
    const url = 'https://full-link-to-my.php';
    xhr.onreadystatechange = () => {
        if(xhr.readyState === XMLHttpRequest.DONE) {
            document.getElementById('testWall').innerHTML = xhr.response;
        }
    }
    xhr.open('GET', url);
    xhr.send();
}

, а вот мой PHP:

$con = db_connect();
if ($con->connect_error) echo "Gremlins have eaten the database because " . $con->connect_error;
$query = "SELECT * FROM cards";
$result = $con->query($query);
if (!$result) echo "Could not gather the cards because " . $con->error;
echo "<div class='row'>";
$i=1;
while($row = $result->fetch_assoc()) {
    if($i<=3) {
        //draw a colum
        echo "<div class='col-sm-4'>
                    <div class='card shadow' style='background-color:".$row['cardBg'].";color:".$row['cardText'].";'>
                        <div class='card-header'>
                            <h4 class='card-title'>Happy Birthday, " . $row['cardTo'] . "!!</h4>
                        </div>
                        <div class='card-body'>
                            <img src='images/".$row['cardImg'].".png' class='img-fluid' alt='Note' />
                        </div>
                        <div class='card-footer'>
                            <p>" . $row['cardMsg'] . "</p>
                            <p class='text-right'>--" . $row['cardFrom'] . "</p>
                        </div>
                    </div>
                </div>";
        //Add 1 to $i
        $i++;
    } else {
        //Reset $i to 1 otherwise this is 4
        $i=1;
        //End the row
        echo "</div>";
        //Start a new row
        echo "<div class='row pt-3'>";
        //draw a column and card
        echo "<div class='col-sm-4'>
                    <div class='card shadow' style='background-color:".$row['cardBg'].";color:".$row['cardText'].";'>
                        <div class='card-header'>
                            <h4 class='card-title'>Happy Birthday, " . $row['cardTo'] . "!!</h4>
                        </div>
                        <div class='card-body'>
                            <img src='images/".$row['cardImg'].".png' class='img-fluid' alt='Note' />
                        </div>
                        <div class='card-footer'>
                            <p>" . $row['cardMsg'] . "</p>
                            <p class='text-right'>--" . $row['cardFrom'] . "</p>
                        </div>
                    </div>
                </div>";
        //Add 1 to $i to keep the count to 3 correct
        $i++;
    }
}
echo $data;
mysqli_close($con);

Единственная вещь в PHP, которая отправляется обратно на javascript, это эхо до начала l oop. Есть идеи, почему это не работает? Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...