问题
需要对请求参数解码,并转化成对象。
解决
使用URLSearchParams进行对象状态,类似如下代码:
javascript
const paramsString1 = "http://example.com/search?query=%40";
console.log(searchParams1.get("http://example.com/search?query")); // "@"(等价于 decodeURIComponent('%40'))
这就不再需要用decodeURIComponent来解码百分号编码了。
具体转对象实现:
js
export const convertStringToObject = (convertString) => {
const params = new URLSearchParams(convertString);
const obj = {};
for (const [key, value] of params.entries()) {
obj[key] = value;
}
return obj;
};