如何通过使用ajax从数据库中获取json数据,使用javascript将case添加到switch语句中

How do I add cases to a switch statement using javascript by getting json data from a database using ajax?

本文关键字:javascript 使用 case 添加 语句 switch json 何通过 ajax 获取 数据库      更新时间:2023-09-26

现在我有一个应用程序,用户单击生成按钮,然后使用下面的函数创建一个随机对象。还有一个检查表。用户勾选一组选项,只有勾选的选项才能被随机选择并变成一个对象。

我想做的是将检查表带到另一个页面,并使用php存储已检查的复选框。然后在另一个页面上有一个应用程序,它使用这个函数从数据库(使用mysql)中获取数据(复选框数据)。

我能想到的最好的方法是:当他们选中这些框并保存结果后,让php编写json文本。然后,在应用程序启动之前,使用ajax在javascript中检索json。

因此,从根本上讲,我想要的是使用数据库中的数据创建case语句,并完成该函数以用于应用程序。

(有很多case语句,更多的对象,比如"object c",将通过CMS动态添加,所以我不能把所有的细节都放在js文件中。这就是为什么我需要数据库中的所有内容)

如果有人有更好的想法来实现这一点,我很乐意听:")

function getObj(objName) {
switch(objName) {
        case 'a':
            var x = new Object('name1','id1');
            x.entrance = ['1','3','4'];
            x.exit = ['2','3'];
            return x;
        case 'b':
            var x = new Object('name2','id2');
            x.entrance = ['2','3','6'];
            x.exit = ['2','3','7'];
            return x;
        default:
            console.log('Error at object conversion. Object was not found');
            break;
}

}

从php:传递类似这样的json数据

{
    'a': {
        'id': 'id1',
        'name': 'name1',
        'entrance': [1, 2, 4],
        'exit': [2, 3]
    },
    'b': {
        'id': 'id2',
        'name': 'name2',
        'entrance': [2, 3, 6],
        'exit': [2, 3, 7]
    }
}

在将json字符串解析为对象后,只需访问相应的属性:

var data = JSON.parse(jsonString);
function getObj(objName) {
    return data[objName];
}

包含在{}中的内容表示对象,并且将由JSON.parse()解码为一个对象。如果您使用的是jQuerys的ajax()方法,那么数据将已经被自动解析。