Показать сообщение отдельно
  #1 (permalink)  
Старый 02.08.2019, 10:30
Интересующийся
Отправить личное сообщение для eLDeR Посмотреть профиль Найти все сообщения от eLDeR
 
Регистрация: 28.05.2019
Сообщений: 23

Ошибка json - Правильность обработки
Добры день, не могу разобраться в чем проблема.

в теле HTML есть
<div class="col-12" id="outt">
в который выводятся последних 5 записей

Сверху страницы форма, которая добавляет через add_db.php запись в БД и формирует сразу новый запрос переводя его в формат json

Вопрос: почему-то возникает ошибка и не обрабатывает для вывода этот код ( причем json ответ идет нормальный)
{message: "Все хорошо", realty: {…}}
message: "Все хорошо"
realty: {area: Array(7), price: Array(7), address: Array(7), larea: Array(7), floor: Array(7), …}
__proto__: Object
Если ставлю в коде имя класса outt, куда мне нужно произвести вывод, то возникает ошибка.
Uncaught TypeError: Cannot read property 'area' of null
    at HTMLDivElement.<anonymous> ((index):279)
    at HTMLDivElement.<anonymous> (jquery.js?ver=1.12.4:3)
    at Function.each (jquery.js?ver=1.12.4:2)
    at a.fn.init.each (jquery.js?ver=1.12.4:2)
    at Ha (jquery.js?ver=1.12.4:3)
    at a.fn.init.append (jquery.js?ver=1.12.4:3)
    at Object.success ((index):277)
    at i (jquery.js?ver=1.12.4:2)
    at Object.fireWith [as resolveWith] (jquery.js?ver=1.12.4:2)
    at y (jquery.js?ver=1.12.4:4)

jQuery(document).ready(function() {
    jQuery(".buttonadd").bind("click", function() {

        var name = jQuery('.nameField').val();
		var area = jQuery('.areaField').val();
        
		jQuery('.nameField').val('');
		jQuery('.areaField').val('');
				
        jQuery.ajax({
            url: "add_db.php",
            type: "POST",
            data: {name:name, area:area},
            dataType: "json",
		success: function(result) {
		if (result){ 
			jQuery('#outt div').remove();
			jQuery('#outt').append(function(){
				var res = '';
				for(var i = 0; i < result.realty.area.length; i++){

				res += '<div>' + result.realty.link[i] + ' ' + result.realty.title[i] + '</div>';
							
						}
							return res;
					});
					console.log(result);
                }else{
                    alert(result.message);
                }
				return false;
            }
        });
	return false;
    });
});

Последний раз редактировалось eLDeR, 02.08.2019 в 10:39.
Ответить с цитированием