Я загрузил следующее web-based-face-detect-program и скомпилировал его, а мой компилятор не обнаружил синтаксических ошибок, однако при попытке загрузить изображение с приложением я получаю Cannot read property 'length' of undefined error
. Я вообще не изменил приложение, поэтому не должно быть проблемы, и я довольно новичок в Javascript, чтобы я мог совершить ошибку новобранец. Heres функция JS код:Невозможно прочитать свойство «длина» неопределенной ошибки
function parse_response(res) {
var data = jQuery.parseJSON(res);
if (data.success == false) {
show_page(form);
show_message(data.msg);
return;
}
results
.find(".source-img").html("").end()
.find(".detected-faces").html("").append("<p>Found " + (data.images.length-1) + " faces:</p>");
$.each(data.images, function(i, img) {
var el = '<img src="face-detect/' + img.src + '?r=' + Math.random() + '" alt="" />';
results.find((i == 0 ? ".source-img" : ".detected-faces")).append(el);
})
results.find(".source-img img").bind('click', function(e) {
var im = data.images[0];
var el = '<img src="face-detect/' + im.src + '" width="' + im.width + '" height="' + im.height + '" alt="" />';
$(".lightbox", results).find(".lightbox-content").html(el).end().lightbox("show");
});
show_page(results, actions);
}
Линия .find(".detected-faces").html("").append("<p>Found " + (data.images.length-1) + " faces:</p>");
является то, что вызывает ошибку. И Heres ошибки я получаю в консоли Chrome:
Uncaught TypeError: Cannot read property 'length' of undefined app.js:87
parse_response app.js:87
xhr.onreadystatechange app.js:65
Остальная часть кода все ссылки GitHub если что-то Theres я пропустил. Так кто-то может объяснить мне, почему я получаю эту неопределенную ошибку и как я могу ее решить?
Это означает, что ответ не имеет свойства "изображения". Используйте консоль разработчика браузера, чтобы проверить отправленный JSON. – Pointy
@Pointy, как я могу это сделать? Я предположил, что это проблема, но поскольку это был не мой код, я думал, что это было в JSON. – user3144542
Если вы используете Chrome, зайдите на вкладку «Сеть». Вы должны иметь возможность щелкнуть по используемой транзакции HTTP и увидеть заголовки и фактический ответ. – Pointy