Так что я пытался получить некоторые данные с моего сервера node.js (используя express.js) через jQuery.getJSON()
.Страница сохраняет загрузку даже после получения ответа
Вот соответствующий код:
test.html:
<script>
$.getJSON('/test', function(data, status, xhr){
document.write(data.message);
//console.log(data.message);
});
</script>
server.js:
app.get('/test', function(req, res){
res.json({ message: 'Hello World' });
});
Теперь, все работает хорошо, когда только используется console.log()
но когда document.write()
, запрос не завершается, даже если данные извлекаются, то есть браузер переходит в неопределенное состояние загрузки после извлечения данных.
Текст статуса, отправленный на обратный вызов, читает «успех», поэтому я предполагаю, что ошибка в настройке стороны ajax отсутствует.
Я использую jQuery 1.11.1 и node.js 0.13.0.
Что может быть причиной этого?
Действительно! Добавление 'document.close()' после того, как запись избавилась от неопределенного состояния загрузки. Я просто использовал 'document.write()', чтобы быстро проверить, правильно ли передавались данные или нет, и столкнулся с вышеупомянутой проблемой в процессе, поэтому просто стало любопытно. Я использую 'jQuery.html()' в фактическом файле. Спасибо! – galactocalypse
Отлично. Я обновил свой ответ, поэтому он ясно говорит о том, что вызов 'document.close()' решает проблему. – lukaszfiszer