Bla*_*man 1 javascript reactjs
当我的 API 返回会话令牌时,我使用以下函数将其保存在本地存储中:
export const storeItem = (key: string, item: any) => {
if (!localStorage) return;
try {
return localStorage.setItem(key, JSON.stringify(item));
} catch (err) {
console.error(`Error storing item ${key} to localStoragee`, err);
}
};
Run Code Online (Sandbox Code Playgroud)
我调用我的 React Redux 操作:
storeItem('authToken', resp.data.token);
Run Code Online (Sandbox Code Playgroud)
奇怪的是,当令牌保存在本地存储中并且我在 chrome 开发工具中查看它时,令牌会用双引号引起来,如下所示:
"abc123"
Run Code Online (Sandbox Code Playgroud)
然后,当我将查询字符串中的这个令牌传递给我的 API 时,它看起来像:
token="abc"
Run Code Online (Sandbox Code Playgroud)
(但是双引号是用%22编码的)
为什么会发生这种情况?我该如何删除这些引号?
更新 我正在构建这样的查询字符串:
let authToken = localStorage.getItem('authToken');
let url = API_ROOT + '/sessions/destroy?token=' + authToken;
export const getItemFromStorage = (key: string) => {
if (!localStorage) return;
try {
return JSON.parse(localStorage.getItem(key));
} catch (err) {
console.error(`Error getting item ${key} from localStorage`, err);
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2053 次 |
| 最近记录: |