Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 请求JS没有给出响应_Node.js_Express_Request - Fatal编程技术网

Node.js 请求JS没有给出响应

Node.js 请求JS没有给出响应,node.js,express,request,Node.js,Express,Request,我正在尝试在express node应用程序中创建一个路由,该应用程序将调用API并打印响应。我正在使用request.js进行API调用。我无法得到答复。我做错了什么 var express = require('express'); const request = require('request'); const API_URL= 'http://api.airvisual.com/v2/nearest_city'; const API_KEY= 'XXXXXXXX'; var rout

我正在尝试在express node应用程序中创建一个路由,该应用程序将调用API并打印响应。我正在使用request.js进行API调用。我无法得到答复。我做错了什么

var express = require('express');
const request = require('request');
const API_URL= 'http://api.airvisual.com/v2/nearest_city';
const API_KEY= 'XXXXXXXX';

var router = express.Router();
var URL;

router.get('/getDetails', function(req, res){
var options = {
url: API_URL + '?key='+ API_KEY,
method: 'GET',
qs: {
    lat: req.query.lat,
    long: req.query.lon
}
}

res.send(request.get(options).response);
});

module.exports = router;

request js不返回承诺,我们必须使用回调在此处查找更多文档

使用request promise

    //use npm install --save request-promise
    var rp = require('request-promise');

    router.get('/getDetails', function(req, res){

    var options = {
    url: API_URL + '?key='+ API_KEY,
    method: 'GET',
    qs: {
        lat: req.query.lat,
        long: req.query.lon
    },

json : true
}

rp(options)
    .then(function (parsedBody) {
        // POST succeeded...
        res.send() // send response data 
    })
    .catch(function (err) {
        // POST failed...
        res.send() //send error data
    });

});