У меня есть строка запроса в браузере, как это https://application.com/loader/?orderNumber=313Q&tracerId=PLM5689
.
Я хочу сохранить ключи в запросе без учета регистра, т.е. если ORDERNUMBER=313Q
и TrAcErid=PLM5689
или
ordernumber=313Q
и tracerid=PLM5689
все равно будет работать так же.
Пока что я использую обходной путь, перебирая params.keys
и в основном проверяя, соответствует ли он моим параметрам.
this.activatedRoute.queryParamMap.subscribe(params => {
params.keys.forEach(key => {
if (key.toLowerCase() === 'ordernumber') {
this.ordernumber= params.get(key);
}
if (key.toLowerCase() === 'tracerid') {
this.tracerid= params.get(key);
}
});
});
Есть ли лучший способ справиться с этим или каким-то лучшим методом для работы со строками запроса. Я ожидаю, что мне будет очень нужно это в моем приложении.
Хотя это работает, это похоже на хакерский способ сделать это.
Я сталкивался с несколькими сообщениями, в которых предполагалось, что параметры в строке запроса чувствительны к регистру, но, похоже, я не понял этого.
RFC 3986: https://tools.ietf.org/html/rfc3986#section-6.2.3
и это https://webmasters.stackexchange.com/questions/90339/why-are-urls-case-sensitive