簡體   English   中英

JSON.stringify丟失/丟失字段

[英]JSON.stringify loses/missing fields

這是我的代碼:

// get from ajax
$.ajax({
    'async': false,
    'global': false,
    'url': url,
    'dataType': "json",
    'success': function (d) {
        data = d;

        // code here to define & calculate voteCount

        data.votes.totalVotes = voteCount;
        localStorage.setItem(url, data);
    }
    , 'error': function (msg) {
        throw new Error("Error retrieving data from " + url);
    }
});

在此行之后:

data.votes.totalVotes = voteCount;

...在控制台中,如果輸入: data.votes.totalVotesdata.votes.totalVotes得到期望的值。

但是,如果鍵入: JSON.stringify(data) ,則不存在totalVotes屬性。

知道為什么不可以,或者如何解決嗎?

**注意:已編輯,因為據我所知這不是異步問題,該行為也存在於成功回調中。

這是$.ajax調用的正確版本:

var data
$.ajax({
    'async': false,
    'global': false,
    'url': url,
    'dataType': "json",
    'success': function (d) {
        data = d;
        data.votes.totalVotes = voteCount;
        localStorage.setItem("myData", JSON.stringify(data));
    }, 'error': function (msg) {
        throw new Error("Error retrieving data from " + url);
    }
});

好吧,對不起,我很傻。 votes是一個數組,因此我將totalVotes設置為數組的屬性,這在對象中很好,但是在序列化時會被省略。

如果其他人像我一樣愚蠢,也許這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM