Div*_*mmy 1 javascript ajax jquery
注意
我的问题已被标记为重复,因为我了解到localStorage只能保存字符串.在那种情况下请参考原始问题.
我正在尝试阅读服务器响应.虽然这很直接,但我不确定我错在哪里.经过一整天的工作后,我厌倦了调试.
这是我对REST API的回应:
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6Im9rdXNlciIsImV4cCI6MTUxNjYxNDk2MywiZW1haWwiOiJkYWh1QGdhaWwuY29tIiwib3JpZ19pYXQiOjE1MTY2MTEzNjN9.BIno_cz8dQsb63bgobNtSQxpxbzlTfsnvtMr8H3EGVs",
"user": {
"pk": 2,
"username": "okuser",
"email": "dahu@gail.com",
"first_name": "",
"last_name": ""
}
}
Run Code Online (Sandbox Code Playgroud)
我可以保存密钥"令牌"并使用它,但我无法使用此代码获取user.pk:
success: function(data) {
//save JWT token
localStorage.token = data.token;
localStorage.user = data.user;
Run Code Online (Sandbox Code Playgroud)
用户正在检索其他一些函数,我实际上将user.pk作为undefined:
var user = localStorage.user;
console.log("user pk : " + user.pk);
if(!user)
{
somethingWentWrongHandler();
return;
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,"user"作为[object Object]出现,但user.pk未定义.
Localstorage包含字符串,而不是对象,所以当你这样做localStorage.user = data.user时就像localStorage.user = data.user.toString();
因此,您需要对其进行字符串化并在阅读时对其进行解析.
localStorage.user = JSON.stringify(data.user); // store it
var user = JSON.parse(localStorage.user) // read it
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |