簡體   English   中英

如何通過使用Ajax從數據庫獲取json數據,以使用javascript將個案添加到switch語句中?

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

現在,我有一個應用程序,用戶單擊生成按鈕,然后使用下面的函數創建一個隨機對象。 還有一個清單。 用戶選中一堆選項,只有選中的選項可以隨機選擇並變成對象。

我想要做的是將清單移至另一頁,並使用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]
    }
}

比javascript中將json字符串解析為對象后,只需訪問相應的屬性即可:

var data = JSON.parse(jsonString);

function getObj(objName) {
    return data[objName];
}

{}包含的內容代表一個對象,並將由JSON.parse()解碼為一個對象。 如果您正在使用jQuery的ajax()方法,則數據將已經自動解析。

暫無
暫無

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

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