2016-12-20 2 views
2

Я новичок в node.js, поэтому я постараюсь изо всех сил объяснить проблему здесь. Дайте мне знать, требуется ли какое-либо санкционирование.Приложение Node.js получает пустой ответ от запроса GET к API

В моем приложении node.js я пытаюсь взять код (который был получен от ответа 1-го вызова API) и использовать этот код, чтобы сделать второй запрос (запрос GET) другому API. URL-адрес обратного вызова 1-го звонка: /pass. Однако я получил empty response от услуги для этого второго звонка.

Я понимаю, что после вызова от 1-го вызова функция в app.get('/pass', function (req, res).. вызывается и отправляет запрос GET. Что я здесь делаю неправильно? Спасибо заранее!

Вот та часть, где я пытаюсь сделать запрос GET от Node.js сервера и получить пустой ответ:

app.get('/pass', function (req, res){ 

    var options = { 
     url: 'https://the url that I make GET request to', 
     method: 'GET', 
     headers: { 
      'authorization_code': code, 
      'Customer-Id':'someID', 
      'Customer-Secret':'somePassword' 
     } 
    }; 

    request(options, function(err, res, body) { 
     console.log(res); 
    }); 
}); 
+0

Есть ли что-нибудь в 'err'? – taylorc93

+0

говорит: 'ERR_EMPTY_RESPONSE' – user4046073

ответ

2

Im немного запутался, что вы спрашиваете так плохо просто пытаются скрыть, что Я думаю, вы ищете.

app.get('/pass', (req, res) => { 
    res.send("hello!");  // localhost:port/pass will return hello 
}) 

Теперь, если вы пытаетесь вызвать запрос Достаньте из библиотеки запроса при вызове/передача конечной вещи по-прежнему похожи. Во-первых, я думаю, что вы можете удалить «метод»: «GET» ключи и значения, поскольку они не нужны. Теперь код будет в основном таким же, как и раньше, за исключением ответа.

app.get('/pass', (req, res) => { 
    var options = { 
     url: 'https://the url that I make GET request to', 
     headers: { 
      'authorization_code': code, 
      'Customer-Id':'someID', 
      'Customer-Secret':'somePassword' 
     } 
    }; 

    request(options, function(err, res, body) { 
    // may need to JSONparse the body before sending depending on what is to be expected. 
     res.send(body); // this sends the data back 
    }); 
}); 
+0

Спасибо @ reedb89 О' app.get ('/ pass', (req, res) ', это обратный URL-адрес моего предыдущего вызова. Думаю, после того, как мое приложение-узел получит ответ от 1-й вызов, мой браузер переходит на localhost: 8080/pass? Code = xyz .... и я попытался использовать этот код, чтобы сделать второй вызов в этом 'app.get ('/ pass', (req, res)' Итак, я думаю, что 'res.send (body)' в вашем ответе является res от второго вызова? Я не понимаю, почему мне нужно отправить данные обратно? – user4046073

+0

что я хочу делать с разрешением от второго вызов - это то, что я хочу сначала посмотреть на него и извлечь из него какое-то значение. Вот почему я попытался войти в консоль. – user4046073

+0

does console.log (body) дает вам то, что вы ищете? – reedb89