首页 > 解决方案 > 在 Joi 的查询字符串中接受“#”

问题描述

我有一个接受用户名作为查询字符串的端点,但是这个用户名可能在开头有 # 所以在 Joi 我得到了这个

{
    "code": 1021,
    "message": "Request data model validation has failed",
    "id": "276ba99a-2abc-4505-b66a-dad2a8ger5",
    "explanation": [
        "`username` is not allowed to be empty"
    ]
}

如何让我的查询字符串在开头使用 Joi 接受 #?

标签: javascriptnode.jsjoi

解决方案


在将参数添加到 URL 之前,您必须对其进行编码。

const url = 'https://example.com?username=#allia';
const response = await fetch(encodeURIComponent(url));

或者你可以替换#%23


推荐阅读