我一直在努力如何向我的URL添加查询字符串参数。在意识到需要?
在URL末尾添加之前,我无法使其工作,否则它将无法工作。相信我,这非常重要,因为它将节省您的调试时间,相信我:到那儿完成了。
下面是一个简单的API端点,该端点调用Open Weather API并传递APPID
,lat
并lon
作为查询参数并作为JSON
对象返回天气数据。希望这可以帮助。
var request = require('request');
var querystring = require('querystring');
var OpenWeatherAppId = require('../config/third-party').openWeather;
router.post('/getCurrentWeather', function (req, res) {
var urlOpenWeatherCurrent = 'http://api.openweathermap.org/data/2.5/weather?'
var queryObject = {
APPID: OpenWeatherAppId.appId,
lat: req.body.lat,
lon: req.body.lon
}
console.log(queryObject)
request({
url:urlOpenWeatherCurrent,
qs: queryObject
}, function (error, response, body) {
if (error) {
console.log('error:', error);
} else if(response && body) {
console.log('statusCode:', response && response.statusCode);
res.json({'body': body});
}
})
})
或者,如果您想使用该querystring
模块,请进行以下更改
var queryObject = querystring.stringify({
APPID: OpenWeatherAppId.appId,
lat: req.body.lat,
lon: req.body.lon
});
request({
url:urlOpenWeatherCurrent + queryObject
}, function (error, response, body) {...})