0
for (i = 0; i < query.length; i++) {
   sessionStorage.setItem("key", JSON.stringify(query[i].id));
   alert(sessionStorage.getItem("key"));
}

上記の for ループでは、id 値をセッション ストレージに入れていますが、直面している問題は、ループが複数回実行された場合、sessionStorage の最後の値は、最後のレコードをその値のみで保存およびロードすることだけです。

しかし、反復ごとにid値を取得し、すべての値ですべてのレコードを表示する必要があります。

これを行う方法?

4

3 に答える 3

0

という同じキーを使用しているためですkey。ループを記述せずに、オブジェクト全体を直接文字列化できます。

sessionStorage.setItem('key', JSON.stringify(query));

他のページで:

var query = $.parseJSON(sessionStorage.getItem('key'));

// directly access an element given its index
alert(query[0].id);

// or loop:
for (var i = 0; i < query.length; i++) {
    alert(query[i].id);
}
于 2012-08-10T12:40:49.880 に答える
0
var z=0;
for (i = 0; i < query.length; i++) {
   z=z+1;
   sessionStorage.setItem("key"+(Z), JSON.stringify(query[i].id));
}
sessionStorage.setItem("keyResord", JSON.stringify(z));

for(i=0;i<sessionStorage.getItem("keyResord");i++)
{
    alert(sessionStorage.getItem("key"));
}

それはあなたのために働くかもしれません、それは私の最後に働いています

于 2012-08-10T13:21:29.850 に答える
0

または、さらに単純です: 既に組み込まれている構造とコンポーネントを使用しないのはなぜですか? 送信ページで:

TempData["<your key>"] = JSON.stringify(query)

受信ページで:

var yourVariable = TempData["Key"]
// at this point @yourVariable on receiving page has the same value as stringified query bu JSON

// as Darin mentioned you access elements like this:
alert(@yourVariable[<your index>].id);
于 2012-08-10T13:21:38.627 に答える