我在节点中有一个http请求:
var options = {
method: 'POST'
, url: 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?'
, qs:
{ location: '44.019076299999995, -123.10060789999999',
type: 'restaurant',
opennow: 'true',
rankby: 'distance',
key: 'my key' }
, headers: {
'cache-control': 'no-cache'
, 'content-type': 'application/json'
}
, json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
/* GET home page. */
router.get('/', function (req, res, next) {
res.render('index', {data : body.results});
});
});
但我仍然坚持如何从前端的用户那里获取数据以便在我的请求中使用。例如,我在前端使用地理位置获取用户坐标。如何将此插入我的请求?如果用户想要添加搜索参数呢?我知道我可以让我的用户使用ajax在前端发出请求,但这让我在前端暴露了我的api密钥。解决这个问题的模式是什么?