使用jQuery / Ajax将JSON文件数据存储在localStorage中

时间:2018-09-07 09:33:24

标签: jquery mysql json ajax foreach

我有这个JSON文件:

[{
    "shop_name": "shop1",
    "queue_current_number": "1"
}, {
    "shop_name": "shop2",
    "queue_current_number": "2"
}, {
    "shop_name": "shop3",
    "queue_current_number": "3"
}, {
    "shop_name": "shop4",
    "queue_current_number": "4"
}]

我正在使用ajax / jQuery从JSON文件获取结果,因此请保存到本地存储中:

$.ajax({
    type: "GET",
    url: "myPage.php",
    dataType: 'html',     
    success: function(data) { 
        data = JSON.parse(data); 
        data.forEach(function(dataItem){
            var queue_current_number = dataItem.queue_current_number;
            localStorage.setItem("queue_current_number", ""+queue_current_number+"");
        });
    }
});

localStorage结果应为> 1234

相反,我的结果是> 1

我的错误是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

该代码的问题是,当您似乎想添加到queue_current_number时,它将继续覆盖它。尝试

var queue_current_number = ""; 
data.forEach(function(dataItem){ 
  queue_current_number += dataItem.queue_current_number; 
});   
localStorage.setItem("queue_current_number", ""+queue_current_number+""); 

这会将所有值连接到一个字符串中,并存储一次,而不是继续覆盖值。