Не возвращает данные ajax formdata

399
24 ноября 2016, 09:50

Я должен вносить в бд записи через ajax, написал код, который с этим справляется, но ничего не выводит в success, а выводит в error. До меня никак не дойдет что не так. Уже и в массив все данные заношу, пытаясь через json_encode вывести но все никак. Подскажите, если можете, я в этом деле новичок, могу тупить жестко, надеюсь на понимание. Выводит в консоль: ["New group","Success!"]| parsererror| SyntaxError: Unexpected token < in JSON at position 0

$(document).ready(function () {
    $("#feedback").submit(function(e) {
        event.preventDefault();
        var fd = new FormData();
        fd.append('submit', 'send');
        fd.append('picture', $('#picture')[0].files[0]);
        fd.append('login', $('#login').val());
        fd.append('password', $('#password').val());
        fd.append('group', $('#group').val());
        fd.append('email', $('#email').val());
        $.ajax ({
            url: "ajax.php",
            type: "POST",
            processData: false,
            contentType: false,
            dataType: "json",
            data: fd,
            success: function(data) {
                console.log(data);
                alert("SUCCESS" + data);
            },
            error: function(xhr, status, error) {
                console.log(xhr.responseText + '|\n' + status + '|\n' +error);
            }
        });
    });
});

<form id="feedback" enctype="multipart/form-data" method="POST">
<label><p>Login</p><input type="text" id="login" name="login"></label>
<label><p>Password</p><input type="password" id="password" name="password"></label>
<label><p>Group</p><input type="text" id="group" name="group"></label>
<label><p>Email</p><input type="email" id="email" name="email"></label>
<label><p>Image</p><input type="file" id="picture" name="picture"></label>
<br><br>
<input type="submit" name="send" id="send" value="Добавить">

и вот ajax.php

if(isset($_POST['submit'])) {
    $data = array();
    $login = $db->escape($_POST['login']);
    $password = $db->escape($_POST['password']);
    $group = $db->escape($_POST['group']);
    $email = $db->escape($_POST['email']);
    $image = $_FILES['picture'];
    $reg = new Reg($login, $password, $group, $email, $image);
    $result = $db->query("SELECT COUNT(login) FROM `consumer` WHERE login = '{$reg->login}'");
    $row = $db->fetch_assoc($result);
    $reg->unique($row, 'Логин неуникален');
    $reg->regex(Reg::LOGIN_PATTERN, $reg->login, 'Некоректный login');
    $reg->regex(Reg::EMAIL_PATTERN, $reg->email, 'Некоректный email');
    $reg->groups($group);
    $path = 'images/';
    $explode = explode('.', $reg->image['name']);
    $ext = array_pop($explode);
    $reg->typeImg($ext, "Неподходящий тип картинки");
    $reg->sizeImage($reg->image, "Слишком большой размер картинки или её нет");
    $reg->userImage($reg->image, "Картинка не загрузилась!");
    if(empty($reg->getErrors())) {
        $uni = $db->query("SELECT groupId FROM `group` WHERE name = '$reg->group'");
        $gr = $db->fetch_assoc($uni);
        $groupid = $gr['groupId'];
        if($groupid) {
            $new = $db->query("INSERT INTO `consumer` (groupId, login, password, email, expirationDateAndTime, imageExtention) VALUES ('$groupid','$reg->login','".md5($reg->password)."','$reg->email','$reg->date','".$image['name']."')");
            $data[] = "УЖЕ СУЩЕСТВУЮЩАЯ ГРУППА";
        } else {
            $new1 = $db->query("INSERT INTO `group` (name) VALUES ('$reg->group')");
            $funcid = $db->getId();
            $new = $db->query("INSERT INTO `consumer` (groupId, login, password, email, expirationDateAndTime, imageExtention) VALUES ('$funcid','$reg->login','".md5($reg->password)."','$reg->email','$reg->date','".$image['name']."')");
            $data[] = "New group";
        }
        $funcid = $db->getId();
        if($new) {
            $namepic = $reg->nameImg($path, $funcid, $ext);
            $db->query("UPDATE consumer SET imageExtention = '$namepic' WHERE login = '$reg->login'");//переименовываем
            $data[] = "Success!";
        }else {
            $data[] = "Ошибка, не все поля заполнены";
        }
    } else {
        foreach($reg->getErrors() as $err) {
            $data[] = $err.'<br>';
        }
    }
    var_dump($data);
    echo json_encode($data);
READ ALSO
Перемещение изображения по канвасу

Перемещение изображения по канвасу

Будьте добры, помогите наладить перемещение изображения карты города по канвасу. На данный момент, видимо, функция перемещения не запоминает...

442
Изменить значение атрибута

Изменить значение атрибута

Есть вот такой код:.

399
Не работает метод hide() JQuery

Не работает метод hide() JQuery

Не работает hide() во второй строке, т. е.

383