localStorageから取得したオブジェクトのプロパティを変更できません

Aitor Martin Gonzalez

次のスニペットを使用して、以前に保存されたオブジェクトを取得していますlocalStorageが、何らかの理由でそれを変更しようとすると、オブジェクトは変更できません。

これが私がオブジェクトを作成する方法です:

if(typeof(Storage) !== "undefined") {
    if(!localStorage.Obj){
        localStorage.Obj = new Object();
    }
    var Obj = localStorage.Obj;

} else {
    if(!$.cookie("Obj")){
        $.cookie("Obj", new Object(), {
            expires : 7, // Days
            domain  : 'localhost:8080',
            secure  : true
        });
    }
    var Obj = $.cookie("Obj");
}

これは私がオブジェクトを変更しようとするところです:

var login = function(email, passwd){

    $.ajax({
        url: "http://127.0.0.1/api/v1/login",
        type: "POST",
        data: { email: email, password: SHA256_hash(passwd), platform: getBrowserName(), osVersion: getOsName()},
        beforeSend: function(xhr){xhr.setRequestHeader('apiKey', "46d1e2f6-cf37-4275-bc1c-d674b12cc9bf");},
        success: function(data, status, xhr){
            Obj["logged_in"] = true;
            Obj["sessionKey"] = data.sessionKey;
            Obj["user_id"] = data.userID;
            Obj["time_format"] = data.timeFormat;
            Obj["first_name"] = data.firstName;
            Obj["last_name"] = data.lastName;
        },
        error: function(data, status, xhr){
            console.log(data);
        }
    });

    if(Obj.logged_in){
        window.location.replace("http://127.0.0.1/users/" + Obj.user_id + "/todos");
    }   
};

私は3つのことを指摘する必要があります:

  • 私はjQueryを使用しています
  • 2つのコードは異なるファイルにありますが、ロード順序は正しいです。
  • 使用するconsole.log(Obj)と、次の出力が得られます。"[object Object]"
  • 前もって感謝します。
charlietfl

根本的な問題は、localStorageが文字列データのみを格納することです。

ただし、配列とオブジェクトの場合は、を使用して文字列に簡単に変換できますJSON.stringify()。localStorageからプルする場合は、を使用して文字列をjavascriptオブジェクトまたは配列に変換できます。JSON.parse()

役立つ小さなライブラリはstore.jsです

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

角度4のhttpgetメソッドからオブジェクトプロパティを取得できません

分類Dev

filter()を使用した後、オブジェクトのプロパティを取得できません

分類Dev

オブジェクトのプロパティの値を変更できません - JavaScript

分類Dev

htmlフォームから渡されたobjectIDからオブジェクトのプロパティを取得できません

分類Dev

配列のオブジェクトプロパティを変更しましたが、ページでは変更していません

分類Dev

マングースオブジェクトからプロパティを取得できません

分類Dev

[すべてチェック]チェックボックスは、オブジェクトのプロパティを選択から変更しません

分類Dev

APIを使用してHubspotのオブジェクトのプロパティ値を取得できません

分類Dev

オブジェクトのプロパティをコンテキストから分解できません

分類Dev

APIからのReduxObservable、React、componentDidMountフェッチは、オブジェクトからプロパティを取得できません

分類Dev

JavaScript関数からオブジェクトのプロパティを返すことができません

分類Dev

Javaはオブジェクトのプロパティを設定できませんでした

分類Dev

MATLABオブジェクトのプロパティは表示されますが、変更できません

分類Dev

OfTypeを使用したforeachは、オブジェクトプロパティを変更しません

分類Dev

OfTypeを使用したforeachは、オブジェクトプロパティを変更しません

分類Dev

$ watchは、Angularの新しいアイテムのオブジェクトの配列でプロパティの変更を見つけられません

分類Dev

QMLオブジェクトのプロパティがc ++から変更されましたが、結果が表示されません

分類Dev

プロパティオブジェクトの変更はプロパティに影響しません

分類Dev

AngularJSで新しいリソースを作成した後、新しいオブジェクトのプロパティを取得できません

分類Dev

オブジェクトを取得しますが、プロパティにアクセスできません

分類Dev

buildSrc:タイプorg.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandlerのオブジェクトの不明なプロパティを取得できませんでした

分類Dev

タイプorg.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandlerのオブジェクトの不明なプロパティ 'compile'を取得できませんでした

分類Dev

タイプorg.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandlerのオブジェクトの不明なプロパティ 'compile'を取得できませんでした

分類Dev

タイプのオブジェクトの不明なプロパティ 'anko_version'を取得できませんでした...?

分類Dev

タイプorg.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandlerのオブジェクトの不明なプロパティ「classpath」を取得できませんでした

分類Dev

タイプorg.gradle.api.internal.initialization.DefaultScriptHandlerのオブジェクトの不明なプロパティ「PrivateData」を取得できませんでした

分類Dev

PhoneGapビルド-タイプorg.gradleのオブジェクトの不明なプロパティ「GMS_VERSION」を取得できませんでした

分類Dev

タイプorg.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandlerのオブジェクトの不明なプロパティ「supportLibraryVersion」を取得できませんでした

分類Dev

タイプorg.gradle.api.publish.maven.internal.publication.DefaultMavenPublicationのオブジェクトの不明なプロパティ「sourcesJar」を取得できませんでした

Related 関連記事

  1. 1

    角度4のhttpgetメソッドからオブジェクトプロパティを取得できません

  2. 2

    filter()を使用した後、オブジェクトのプロパティを取得できません

  3. 3

    オブジェクトのプロパティの値を変更できません - JavaScript

  4. 4

    htmlフォームから渡されたobjectIDからオブジェクトのプロパティを取得できません

  5. 5

    配列のオブジェクトプロパティを変更しましたが、ページでは変更していません

  6. 6

    マングースオブジェクトからプロパティを取得できません

  7. 7

    [すべてチェック]チェックボックスは、オブジェクトのプロパティを選択から変更しません

  8. 8

    APIを使用してHubspotのオブジェクトのプロパティ値を取得できません

  9. 9

    オブジェクトのプロパティをコンテキストから分解できません

  10. 10

    APIからのReduxObservable、React、componentDidMountフェッチは、オブジェクトからプロパティを取得できません

  11. 11

    JavaScript関数からオブジェクトのプロパティを返すことができません

  12. 12

    Javaはオブジェクトのプロパティを設定できませんでした

  13. 13

    MATLABオブジェクトのプロパティは表示されますが、変更できません

  14. 14

    OfTypeを使用したforeachは、オブジェクトプロパティを変更しません

  15. 15

    OfTypeを使用したforeachは、オブジェクトプロパティを変更しません

  16. 16

    $ watchは、Angularの新しいアイテムのオブジェクトの配列でプロパティの変更を見つけられません

  17. 17

    QMLオブジェクトのプロパティがc ++から変更されましたが、結果が表示されません

  18. 18

    プロパティオブジェクトの変更はプロパティに影響しません

  19. 19

    AngularJSで新しいリソースを作成した後、新しいオブジェクトのプロパティを取得できません

  20. 20

    オブジェクトを取得しますが、プロパティにアクセスできません

  21. 21

    buildSrc:タイプorg.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandlerのオブジェクトの不明なプロパティを取得できませんでした

  22. 22

    タイプorg.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandlerのオブジェクトの不明なプロパティ 'compile'を取得できませんでした

  23. 23

    タイプorg.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandlerのオブジェクトの不明なプロパティ 'compile'を取得できませんでした

  24. 24

    タイプのオブジェクトの不明なプロパティ 'anko_version'を取得できませんでした...?

  25. 25

    タイプorg.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandlerのオブジェクトの不明なプロパティ「classpath」を取得できませんでした

  26. 26

    タイプorg.gradle.api.internal.initialization.DefaultScriptHandlerのオブジェクトの不明なプロパティ「PrivateData」を取得できませんでした

  27. 27

    PhoneGapビルド-タイプorg.gradleのオブジェクトの不明なプロパティ「GMS_VERSION」を取得できませんでした

  28. 28

    タイプorg.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandlerのオブジェクトの不明なプロパティ「supportLibraryVersion」を取得できませんでした

  29. 29

    タイプorg.gradle.api.publish.maven.internal.publication.DefaultMavenPublicationのオブジェクトの不明なプロパティ「sourcesJar」を取得できませんでした

ホットタグ

アーカイブ