0

Код на клиенте

$.ajax({
    type:'GET',
    url: '/load',
    success: function(data) {console.log(data)},
    error: function (error) {console.log(error)} 
});

Код на сервере

// готовим data (считываем текст из файла)
var data;
fs.readFile('./db/db.txt', function(err, logData){
    if(err) {
        console.log(err+' can not read file');
    }
    else{
        var text = logData.toString();
        var getElems = new Parser(text);
        data = JSON.stringify(getElems.data());
    }
});            
res.writeHead(200);
res.end(data);

В ajax запросе запускается success но в data ничего нету. Можно ли методом res.end() отвечать на такой запрос, или нужно что либо другое. Спасибо!

  • 3
    Опять кто-то не понимает асинхронщину... доколе? .-. Короткий ответ: да, вы ошиблись, в data на момент ответа ничего нет. –  Aug 15 '16 at 11:43
  • D-side Если я правильно понимаю отправку данных нужно сделать в коллбэке функции readFile? – Alexey Antonovich Aug 15 '16 at 13:29
  • Предположительно -- да. Можно ещё насовать по коду console.log'ов, чтобы увидеть порядок выполнения кода и ключевые значения. –  Aug 15 '16 at 13:38

0 Answers0