Задать вопрос
@a_pussycan
Начинающий веб-программист

Как обработать запрос?

Пишу модуль отзывов на ajax и php.
Собственно запрос в БД происходит, и json_encode мне публикует ответ, но получить я его не могу, постоянно срабатывает alert(error), в чем ошибка?

<h2>Отзывы</h2>
<input type="text" name="user" placeholder="Введите имя" value="" id="user">
<input type="text" name="text" placeholder="Введите комментарий" value="" id="text">
<button id="sendtext">Отправить</button>
<div class="comments"></div>


$(document).ready(function () {
    $("#sendtext").on("click", function () {
      var user = $("#user").val();
      var text = $("#text").val();
      $.ajax({
        url: "comment.php",
        type: "post"
        contentType: "json",
        data: {
          user: user,
          text: text
        },
          error: function () {
          alert("ERROR");
        },
        success: function (data) {
          console.log(data)
        }
        })
      })
    });


<?php header('Content-Type: application/json');
$host ="localhost";
$userdb ="root";
$pass =""; 
$db_name="less5";



$connect = mysqli_connect($host, $userdb, $pass, $db_name);
if ($connect)
  echo "success";
$user = $_POST['user'];
$text = $_POST['text'];

$addcomment = mysqli_query($connect, "INSERT INTO `chat` (`id`, `user`, `text`) VALUES ('', '{$user}', '{$text}')");
if ($addcomment) {
 echo "addcomment";
}


$allcomments = mysqli_query($connect, "SELECT * FROM `chat`");
$array_result = array();
while ($row = mysqli_fetch_assoc($allcomments)) {
      $array_result[] = $row;
}

echo json_encode($array_result);
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
@akamap
зачем ?
echo "success";
и
echo "addcomment";
Ответ написан
KusokBanana
@KusokBanana
Fullstack-разработчик
В ajax ты указал, что ожидаешь в ответ json с сервера (как и на сервере указал заголовки json), при этом на сервере выдаешь строку + json, из-за чего получается неверный формат данных. Убери echo success и addcomment (можешь перенести в тот же json) и будет тебе счастье
В идеале в таких случаях нужно всегда непосредственно перед выводом ответа сервера очищать буфер
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
19 дек. 2024, в 02:11
15000 руб./за проект
19 дек. 2024, в 02:09
11000 руб./за проект
19 дек. 2024, в 00:46
30000 руб./за проект