Не заходит в блок each

229
20 апреля 2018, 14:00

Здравствуйте! Задача состоит в том, чтобы добавить посты после клика на кнопку при помощи ajax. Файл обработчик работает исправно (как мне кажется)

<?php   
if(isset($_POST['start'])) {
    include('infofordb.php');
    $start = $_POST['start'];
    $link = mysqli_connect($host, $user, $password, $database) or die("Ошибка " . mysqli_error($link));
    $query ="SELECT * FROM news ORDER BY id DESC LIMIT ".$start.", 5";
    $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
    $articles = array();
    while($row = mysqli_fetch_assoc($result)) {
        $articles[] = $row;
    }
    echo $articles;
    mysqli_close($link);
}
?>

ajax вроде как тоже работает, но не работает цикл each - я использую его для добавления постов

$(document).ready(function(){
                var start = 5;
                $('#load').click(function() {
                    $.ajax({
                        url: 'handler.php',
                        type: 'POST',
                        //dataType: 'json',
                        data: {start : start},
                        success: function(data) {
                            $.each(data, function(index, item){
                                alert(data[index].path);
                                $('main').append(
                                                '<article class="news"><div class="picture"><img src="/image/' + data[item].path +
                                                + '"></div><div class="aboutpost"><h2 class="aboutpost-title">' + data[item].title + 
                                                + '</h2><p class="aboutpost-description">' + data[item].description + 
                                                + '</p></div></article>');
                            });
                        },
                        error: function (jqXHR, exception) {
                            var msg = '';
                                if (jqXHR.status === 0) {
                                    msg = 'Not connect.\n Verify Network.';
                                } else if (jqXHR.status == 404) {
                                    msg = 'Requested page not found. [404]';
                                } else if (jqXHR.status == 500) {
                                    msg = 'Internal Server Error [500].';
                                } else if (exception === 'parsererror') {
                                    msg = 'Requested JSON parse failed.';
                                } else if (exception === 'timeout') {
                                    msg = 'Time out error.';
                                } else if (exception === 'abort') {
                                    msg = 'Ajax request aborted.';
                                } else {
                                    msg = 'Uncaught Error.\n' + jqXHR.responseText;
                                }
                            alert(msg);
                        }
                    });
                });
            });

Таблица news состоит из 4 столбцов - id, path, title, description (в обработчике все верно выводится).

Также, если добавить тип возвращаемых данных (json), то выдается ошибка "Requested JSON parse failed." С чем это может быть связано?

READ ALSO
Jquery не получается сделать счетчик

Jquery не получается сделать счетчик

unload - класс кнопки, который убирает элемент ;

222
Сохранить изображение в мета боксе

Сохранить изображение в мета боксе

У меня есть MetaBox в Wordpress теме, который загружает изображение, все работает, изображения загружаются, удаляются, но я никак не могу сделать чтобы...

221
Enum — это анти-паттерн? Почему?

Enum — это анти-паттерн? Почему?

Правда ли, что enum- это анти-паттерн и его всячески нужно избегать?

207
SQL-запрос в C# для вывода из label в Access

SQL-запрос в C# для вывода из label в Access

Смысл задания: при нажатии на кнопку, у меня считается разность двух чисел, записанных в лабле и текстбоксе, после чего это число должно записаться...

234