@ComPUCKter
Web-разработчик

Почему в алерт выводится лишний текст(html-разметка)?

После ajax-запроса success функция должна выводить "Работает"(Который возвращает php-обработчик запроса). В самой верхней строке действительно выводится то, что нужно, но кроме этого html разметку одного из моих документов.

60788d7db1883660354158.png

Вот код отправки ajax:
function change_description() {
   const penbtn = $('.mypage__change-descr');
   penbtn.click(function () {
      const changeForm = penbtn.parent().siblings('.mypage__write-descr').eq(0);
      const closeBtn = changeForm.find('.mypage__write-descr-header-close');
      const submit = closeBtn.siblings('.mypage__write-descr-header-submit');
      changeForm.slideToggle('fast');

      closeBtn.click(function () {
         changeForm.slideUp('fast');
      });

      submit.click(function () {
         const descrText = changeForm.children().eq(1).val();

         $.ajax({
            type: 'POST',
            // url: 'php-scripts/my-pageHandler.php',
            dataType: 'html',
            data: {
               descrText: descrText
            },
            success: function (data) {
               const descriptionBox = $('.mypage__description p');
               descriptionBox.text(descrText);
               changeForm.slideUp('fast');
               alert(data);
            }
         });
      });
   });
}


Код обработки ajax на php:

function change_description()
{
   if (isset($_POST['descrText'])) {
      require __DIR__ . '/../#DATABASE.php';

      $newDescription =  htmlspecialchars($_POST['descrText']);

      $id = $_SESSION['user']['id'];

      $query = $db->prepare(
         "UPDATE `users` SET `description`=:description WHERE `id`='$id'"
      );
      $param = ['description' => $newDescription];
      $query->execute($param);
      echo 'Работает';
   }
}


Заранее спасибо за ответ. Отвечу на все ваши вопросы.
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Aricus
success: function (data) {
               ...
               alert(data);
            }

Тут вы выводите в alert html-код ajax-страницы.
То есть, причина находится в php страницы php-scripts/my-pageHandler.php : почему-то после выполнения функции он выводит что-то ещё.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы