【发布时间】:2014-09-19 00:33:31
【问题描述】:
我有一个 REST 端点,它是 /geo/search,它需要一些长/纬度坐标作为请求的一部分发送(GEO 多边形)。
-
有什么方法可以在 GET 请求中使用 JSON 吗?我在想那个 URL 编码可能是一个解决方案:
var data = encodeURIComponent({"coordinates":[[-122.610168,37.598167],[-122.288818,37.598167],[-122.288818,37.845833],[-122.610168,37.845833],[-122.610168,37.598167]]}); 如何访问路由中的这些参数?
【问题讨论】:
-
第一个问题,请查看JQuery.param
-
第二个问题,如果你使用
JQuery.param,那么你可以在Express的路线中使用req.query.coordinates[x][y]访问坐标。 -
为什么不使用查询字符串?这就是它的用途。您可以将 PHP/Rails/jQuery 样式的查询字符串参数与数组一起使用,如前所述,或者您可以将所有内容编码为 JSON,为查询字符串正确编码,然后分配给像
data之类的变量。有很多方法可以解决这个问题,但在这种情况下我要做的最后一件事是将它附加到路径的一部分。 -
否 - 请参阅我的第二条评论。你应该使用
req.query而不是req.params。 -
感谢@mccannf,但 req.query.coordinates 返回未定义。
标签: json node.js rest express get