Javascript AJAX响应位于[object],jquery中-因此无法读取它

Javascript AJAX响应位于[object],jquery中-因此无法读取它,javascript,jquery,ajax,Javascript,Jquery,Ajax,注 我的问题被标记为重复,因为我知道 localStorage只能保存字符串。请参阅原问题 那样的话 我试图读取服务器响应。虽然这是非常直接的,但我不确定我错在哪里。经过一整天的工作,我厌倦了调试 这是我对REST API的回应: { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6Im9rdXNlciIsImV4cCI6MTUxNjYxNDk2MywiZW1haWwiOiJkY

我的问题被标记为重复,因为我知道 localStorage只能保存字符串。请参阅原问题 那样的话

我试图读取服务器响应。虽然这是非常直接的,但我不确定我错在哪里。经过一整天的工作,我厌倦了调试

这是我对REST API的回应:

{
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6Im9rdXNlciIsImV4cCI6MTUxNjYxNDk2MywiZW1haWwiOiJkYWh1QGdhaWwuY29tIiwib3JpZ19pYXQiOjE1MTY2MTEzNjN9.BIno_cz8dQsb63bgobNtSQxpxbzlTfsnvtMr8H3EGVs",
    "user": {
        "pk": 2,
        "username": "okuser",
        "email": "dahu@gail.com",
        "first_name": "",
        "last_name": ""
    }
}
我可以保存密钥令牌并使用它,但我无法使用此代码获取user.pk:

  success: function(data) {

          //save JWT token
          localStorage.token = data.token;
          localStorage.user = data.user; 
用户正在使用其他类似的函数进行检索,其中我实际面对的user.pk是未定义的:


在上述代码中,user作为[object object]出现,但user.pk未定义。

您只能在本地存储器中存储字符串类型。因此,当您尝试保存用户对象时,它正在将其转换为一个[object object]字符串。

您只能在本地存储中存储字符串类型。因此,当您尝试保存用户对象时,它将其转换为一个[object object]字符串。

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

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

localstorage保存字符串,而不是对象用户的值是对象,请尝试console.diruser在console上查看您的对象结构。@epascarello,这是新的学习,如何在localstorage中存储对象?你不能,你必须存储字符串。你可能需要JSON.stringifydata.user,然后通过解析来访问它localstorage保存字符串,而不是对象。用户的值是object,请尝试console.diruser在console中查看你的对象结构。@epascarello,这是新的学习,我如何在localstorage中存储对象?您不能。您必须存储字符串。您可能需要先存储JSON.stringifydata.user,然后通过稍后解析来访问它