我正在使用npm请求模块在Express.js应用程序中向内部API发出请求。我传递下列选项到request
功能:根据用户输入调整Node的请求模块中的查询字符串/ URL
requestOptions = {
url : http://whatever.com/locations/
method : "GET",
json : {},
qs : {
lng : longitude,
lat : latitude + '/predictions'
}
经纬度参数会发生变化,因此不能被硬编码。
我希望提出请求的URL的一个示例是http://whatever.com/locations/37.891726,-122.277858/predictions
。
不幸的是,request(requestOptions, callback)
的结果是请求的是http://whatever.com/locations/?lng=37.891726&lat=-122.277858%2Fpredictions
。
我知道从documentation,我可以调整分离器从&
到,
,并且还使得/
我手动附加到lat
可以适当地发送,如果我qsStringifyOptions : {encode: false}
添加属性requestOptions
。但以手动方式追加/predictions
我以前的做法感觉不对,而且我仍然有其余格式的困难 - 即删除lat=
/lng=
,最初的?来自查询字符串。
是否有可能以某种方式更改查询字符串选项以适合我的需求,或者请求包可能不是我想要的?
对不起,这不是在我的岗位明确的 - 现在我会编辑。这是一个控制器的组件,lat和lng是请求将会改变,所以我不能硬编码的URL。 – Hugo
网址不必硬编码,但重点是值应该在url中。编辑帖子以改用lng和lat变量。 – Hyddan
谢谢!我是新来的,所以我不能赞成,但这对我来说。不知道为什么我没有开始。 – Hugo