Ajax возвращает error со всей страницей

549
29 декабря 2016, 08:54

Всем привет. Такая проблема: при выводе данных ajax запрос возвращает всю страницу, вместе с ответом. При создании пользователя и вводе всех полей происходит ajax запрос, который должен асинхронно подгружать все данные в бд и присылать ответ о успешном создании пользователя, но в ajax в error в консоль выводит всю страницу index.php вместе с ошибкой. Вот код:

ajax.js:

$(document).ready(function () {
$("#feedback").submit(function(e) {
    event.preventDefault();
    var fd = new FormData();
    fd.append('send', '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());
    fd.append('date', $('#date').val());
    $('#info').empty();
    $.ajax ({
        url: "application/controllers/ControllerUser.php",
        type: "POST",
        processData: false,
        contentType: false,
        dataType: "json",
        data: fd,
        success: function(data) {
            console.log(data);
            alert("success");
            //for(var i = 0; i < data.length; i++) {
            //  $('#info').append("<li>" + data[i] + "</li>");
            //}
        },
        error: function(xhr, status, error) {
            alert('Its error');
            console.log(xhr.responseText + '|\n' + status + '|\n' +error);
        }
    });
});

});

ControllerUser.php:

class ControllerUser extends Controller {
function __construct() {
    $this->model = new ModelUser();
    $this->view = new View();
    $this->db = Db::getInstance();
}
public function actionIndex() {
    $grouplist = $this->model->getAllRow('group');
    if(isset($_POST['send'])) {
        $data = array();
        $login = $this->db->escape($_POST['login']);
        $password = $this->db->escape($_POST['password']);
        $group = $this->db->escape($_POST['group']);
        $email = $this->db->escape($_POST['email']);
        $date = $_POST['date'];
        $image = $_FILES['picture'];//картинка
        //var_dump($date);
        //Проверка логина на уникальность
        $res = $this->model->getData($login);
        $row = $this->db->fetch_assoc($res);
        $this->model->unique($row);
        //Корректность логина и эмейла
        $this->model->regex(ModelUser::LOGIN_PATTERN, $login, 'Некорректный логин');
        $this->model->regex(ModelUser::EMAIL_PATTERN, $email, 'Некорректный email');
        //Изображение абонента
        $path = 'images/';
        $explode = explode('.', $image['name']);
        $ext = array_pop($explode);
        //Проверка изображения
        $this->model->typeImg($ext, "Неподходящий тип картинки");
        $this->model->sizeImage($image, "Неподходящий размер картинки!");
        $this->model->userImage($image, "Картинка не загрузилась!");
        if(empty($this->model->getErrors())) {
            $sel = $this->model->getGroupId($group);//проверяем, еслть ли в таблице группа, которая была введена
            $gr = $this->db->fetch_assoc($sel);
            $groupid = $gr['groupId'];
            if(!$groupid) {//если есть, в group записываем значение уже существующей группы
                $new = $this->model->insertIntoGroup($group);
                $groupid = $this->db->getId();//id запроса
                $data[] = "Новая группа";
            } else {
                $data[] =  "Уже существующая группа";
            }
            $new = $this->model->insertInto($groupid, $login, $password, $email, $date, $image);//новая запись в consumer
            $id_query = $this->db->getId();//id запроса
            if($new) {
                $namepic = $this->model->nameImg($path, $image, $id_query, $ext);//новое название картинки
                $update = $this->model->update($namepic, $login);//меняем название картинки на новое
                $data[] =  "Успех";
            } else {
                $data[] =  "Ошибка, не все поля заполнены";
            }
        } else {
            foreach($this->model->getErrors() as $err) {
                $data[] =  "<br>".$err;
                $data[] =  "Найдена ошибка";
            }
        }
        echo json_encode($data);
    }
}

UserView.php: 

<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>Date</p><input type="text" id="date" name="date" placeholder="YYYY-MM-DD HH:MM:SS"></label>
<label><p>Image</p><input type="file" id="picture" name="picture"></label>
<br><br>
<input type="submit" name="send" id="send" value="Добавить">

Подскажите, если кто знает в чем проблема, всем спасибо

READ ALSO
click не срабатывает

click не срабатывает

Отображаются звездочки рейтинга пользователя, при наведении курсора содержимое блока с id edit_user_rating меняется на пустые звездочки с class span_ratingПри...

486
Мгновенное переписывание input value в angular

Мгновенное переписывание input value в angular

Можно сделать подобное, на angularjs?

501
Порядок потока в исходном файле

Порядок потока в исходном файле

Привет, как можно придумать чтобы порядок элементов в потоке шёл h2 h3 h1, а визуально всё выглядело так https://jsfiddlenet/wobsrph1/

578
Создание модели для QTreeView

Создание модели для QTreeView

Помогите разобраться с принципами Model/View программирования в QtПытаюсь реализовать свой класс, наследующий QAbstractItemModel

650