На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
  
    > Ajax и JSON. Выводится сообщение "Ошибка при загрузке данных!".
      Добрый день!
      Есть скрипт index2.php:
      ExpandedWrap disabled
        <!DOCTYPE html>
        <html lang="ru">
        <head>
            <title>Ajax и JSON</title>
            <meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />
            <script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
            <script type="text/javascript">
                $(document).ready(function() {
                $("h3").bind("click", function(event) {
                    ajax({'func': 1});
                });
                });
                function ajax(data) {
                    $.ajax({
                        url: '/api.php',
                        type: "POST",
                        data: data,
                        dataType: "text",
                        error: error,
                        success: success
                    });
                }
                function error() {
                    alert('Ошибка при загрузке данных!');
                }
                function success(result) {
                    alert(result);
                }
            </script>
        </head>
        <body>
            <div>
                <h3 style="cursor: pointer;">Получить случайного пользователя из БД</h3>
            </div>
            <div id="result"></div>
        </body>
        </html>

      При клике на Получить случайного пользователя из БД должно происходить соединение с файлом /api.php, но вместо этого появляется диалоговое окно с текстом, как показано в прикреплённом файле:

      Прикреплённый файлПрикреплённый файлAjax____Json.______________________________________________________________________..JPG (14,33 Кбайт, скачиваний: 382)

      Где ошибка в коде?
        Ошибка в 23-24 строках. Нужно выводить не стандартное сообщение об ошибке, а какую-нибудь полезную информацию. Например:
        ExpandedWrap disabled
          function error(xhr) {
            alert('Ошибка: ' + xhr.status + ' ' + xhr.statusText);
          }

        И кстати - никакого PHP-кода в примере нет.
          AVA12, спасибо за помощь, но возможно, я чего-то не понимаю.
          Заменил строку
          ExpandedWrap disabled
            function error() {
                        alert('Ошибка при загрузке данных!');
                    }

          на строку:
          ExpandedWrap disabled
            function error(xhr) {
              alert('Ошибка: ' + xhr.status + ' ' + xhr.statusText);
            }

          Теперь при клике на Получить случайного пользователя из БД появляется окошко:
          Прикреплённый файлПрикреплённый файлAjax____Json._______________________________________________________________________2_..JPG (14,91 Кбайт, скачиваний: 387)

          Разместил эту тему в данном разделе, так как тема урока связана с PHP. Файл api.php на языке PHP. Я полностью не был уверен, что ошибка именно в Ajax и JSON коде.
            Тема закрыта.
            Проблема оказалась в строке:
            ExpandedWrap disabled
              url: '/api.php',

            Убрал слэш и код стал работать.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0270 ]   [ 18 queries used ]   [ Generated: 28.03.24, 18:09 GMT ]