javascript - 如何存储来自ajax请求的信息

标签 javascript jquery ajax

我有一个带有回调的 jquery ajax 函数。此回调从函数检索的 json 创建一个数组。所以我有

success: function (response) {
            callback(response);
        },

并且回调通过调用创建数组:

Questions(8,createQuestionsArray);

function createQuestionsArray(result){
    for(var subject in result){
        var size =Object.keys(result[subject]).length;
        for(var i=0;i<size;i++){
            questions[i] = result[subject][i];
        }
    }
}

我想在应用程序开始时加载这个数组,这样当用户开始测验时我不需要加载问题。我该如何存储它?因为只是放入一个全局问题变量,当我转到另一个页面时,我有一个空对象。

谢谢。

最佳答案

可以存储在localStorage或sessionStorage中,但需要注意的是两者都只存储字符串,所以要先将变量字符串化

例子

保存

var data = JSON.stringify(yourarray);
localStorage.setItem('key',data);

检索

var response = JSON.parse(localStorage.getItem('key'));

see a different between localStorage and sessionStorage

more info about session and local storage-

关于javascript - 如何存储来自ajax请求的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39662516/

相关文章:

javascript - jQuery 将两个总数相加

jquery - html5boiler Plate + jquery mobile = 脚本加载两次

javascript - jQuery Ajax 发布到 php 不打印响应

jquery - 在 grunt.js 中,在 uglify "jquery"和 "blockui"期间,我收到错误 "Unexpected Character ` ?`"

javascript - 对于 AJAX 响应,JSON 相对于 HTML 的优势?

javascript - php 不回显 ajax javascript 中的任何内容?

javascript - 使用 Promise.all 从函数返回值

javascript - 使用 Vivus.js 和 GSAP 对最初隐藏的元素进行动画处理

javascript - 如何使用 plunker 或 jsfiddle 运行 angular2 代码

javascript - 使用ajax将行插入表(倒数第二个)