Задать вопрос
BarnyBroken
@BarnyBroken
Дизайнер, веб-разработчик.

Как распознать ошибки РНР при выводе через AJAX?

Всем привет. Ребята, столкнулся с одним движком самописным. Все бы ничего, все шло хорошо, но когда дошел до вывода ошибок через AJAX то столкнулся с проблемой.

Я могу передать текст самой ошибки в result но хотелось бы распознать, это success ошибка или error. Соответственно и подсвечивать другим цветом. Сейчас же и success и error одного вида.

Передаю так:
if(mb_strlen($email) == 0 || mb_strlen($email) == 0){
    TAjaxer::set_format('TEXT');
    TAjaxer::set('Не указан email.');
}


Получаю так:
this.login = function(){
    var values = $('#updateForm').serialize();
        $.ajax('/?module=members&media=ajax&action=login',{
            type: "POST",
            data: values,
            success: function(data) {
                toastr.success(data);
            }
    });
};


Код класса TAjaxer:
<?php

class TAjaxer{
	static $format = null;
	static $content = null;

	static function set_format($format = 'JSON'){
		self::$format = $format;
	}

	static function set($str){
		self::$content = $str;
	}

    static function setFalse($str, $class){
        self::$content = $str;
        self::$content = $class;
    }

	static function get(){
		$return = '';
		if(is_array(self::$content) || strlen(self::$content) > 0){
			switch(self::$format){
				case 'JSON': $return = self::getJSON(); break;
				case 'TEXT': $return = self::$content; break;
				default: $return = self::getJSON();
			}
		}
		return $return;
	}

	static function getJSON(){
		return json_encode(self::$content);
	}
}

?>


Как можно распознать нужную ошибку при выводе AJAX`ом ? Парюсь уже несколько часов, в голову ничего разумного не приходит.
  • Вопрос задан
  • 589 просмотров
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@k2lhu
Добавление error вам подойдет?
this.login = function(){
    var values = $('#updateForm').serialize();
        $.ajax('/?module=members&media=ajax&action=login',{
            type: "POST",
            data: values,
            success: function(data) {
                toastr.success(data);
            }
            error: function () {
                console.log('сработала обработка ошибки');
            }
    });
};


UPD: дополнительно можете проверять какое либо поле на соответствие ожидаемому результату
var dialogName = $('#user').html();
        console.log(dialogName);
        $.ajax ({
            url: '/chat/dialog',
            data: {dialogName: dialogName},
            type: 'GET',
            success: function (res) {
                if(res==1) {'такая то ошибка'} и т.д.
                
            },
            error: function () {
                console.log('сработала обработка ошибки');
            }
        });
    }

т.е. в ответе мы можем ожидать какой идентификатор, который укажет что именно ошибка произошла.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽