在使用&
和+
之类的特殊字符时,我正在尝试对URL参数进行编码和解码。我在react
组件中有一个方法,将搜索字符串按如下所示推入历史记录:
if (tableParams.searchString) {
queryString += `&search=${encodeURI(tableParams.searchString)}`;
}
this.props.history.push({search: queryString});
当我获得历史记录搜索道具时,我将像这样解码它:
const params = new URLSearchParams(this.props.location.search);
const searchString = params.get('search') ? decodeURI(params.get('search')) : '';
但是,我得到了&和为''的空字符串,并带有+号。正确编码和解码此字符的方法是什么?