2016-11-29 4 views
-1

Мы пытаемся извлечь объект JSON из URL-адреса через HTTP-запрос. Однако, когда мы последовательно получаем «неопределенный», когда мы пытаемся вернуть текст. Есть ли проблема в том, как мы реализуем HTTP-запрос?Извлечение объекта JSON из URL-адреса

function getUserData(email) { 
    var pathURL = "/" + email + "/data" 
    var options = { 
     host: 'localhost', 
     port: 3000, 
     path: pathURL, 
     method: 'GET', 
     headers: { 
      accept: 'application/json' 
     } 
    }; 

var x = http.request(options, function(res){ 
    console.log("Connected"); 
    res.on('data', function(data){ 
     console.log(data); 
    }); 
}); 
} 

ответ

0

Тело ответа - данные, но не возвращается к x.

var body = [] 
request.on('data', function(chunk) { 
    body.push(chunk) 
}).on('end', function() { 
    body = Buffer.concat(body).toString() 
    // all is done, you can now use body here 
}) 
+0

Я не совсем уверен, насколько понимаю ваш комментарий. Не могли бы вы объяснить немного больше? –

3

Закройте http.request() с помощью
x.end();
Здесь ссылка на подобный вопрос.
Sending http request in node.js

Ошибка регистрации Попробуйте также:

req.on('error', function(err){ 
    console.log('problem with request:',err.message); 
}); 

Между тем проверить the documentation of http library, а также.

+0

Мы по-прежнему получаем ту же ошибку, что и не можем читать неопределенные. Однако, когда мы добавили строку x.end(), она печатает неопределенные и «подключенные» в консоли. Не знаете, куда идти отсюда –

+0

Попробуйте выполнить регистрацию ошибок. Добавьте его под методом 'res.on();'. – keshavDulal