我有一个 url,它采用这样的 topicName 查询数组
localhost:3000/api/?topicName=mobile&topicName=网站
有时 topicName 只有一个这样的值
localhost:3000/api/?topicName=mobile
下面是我如何在 Node JS 中使用该查询值
let topicNameArray = [];
topicNameArray = req.query.topicName
let value = topicNameArray.map(function(e) {
return new RegExp(e, "i");
})
我面临的问题是当数组查询只有一个值时,我的应用程序将收到此消息
"message": "topicNameArray.map is not a function
有人可以建议我解决这个问题吗?非常感谢!
最佳答案
我相信您需要修改查询字符串以减轻您遇到的错误。
目前我认为您有一个如下查询字符串:localhost:3000/api/?topicName=mobile&topicName=website
这里您有一个查询参数topicName
,这是本质上是一个字符串。因此,当您的查询字符串中有多个 topicName
键实例时,您应该将该键的值替换为查询字符串中的最后一个实例。因此,要发送值数组,请使用如下查询字符串结构: localhost:3000/api/?topicName[]=mobile&topicName[]=website
(注意方括号。)
稍后您可以检查查询参数是否是数组。您可以使用 Array.isArray 函数来实现。然后您可以在后面的部分执行异常处理。
关于javascript - 如何处理查询中的数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50883835/