2017-01-19 5 views
1

я получил следующий node.js фрагмент кода, которые делают ВЗУ заявление:Получение Undefiend при использовании переменной при получении значения JSON

var obj = JSON.parse(file); 
app.post('/save', function (req, res) { 
    switch (config_value){ 
     case 'data1': 
      config_to_pass.A[0] = req.body; 
      break; 
     case 'data2': 
      config_to_pass.B[0] = req.body; 
      break; 
    } 
} 

config_value является ключом на JSON, как A, B, C и скоро. Вышеприведенный код работает, но тогда то, что я хочу сделать, это config_to_pass.config_value[0] im получение undefiend. Я хочу сделать следующую логику, потому что, если я добавлю больше таких ключей, как D, E, F, мне нужно изменить код.

+0

Отправьте более подробный код, в котором показано, где вы объявили 'config_value', где вы делаете вызов, который возвращает' undefined' и т. Д. –

ответ

0

Вы хотите сделать что-то подобное?

var obj = JSON.parse(file); 
app.post('/save', function (req, res) { 
    config_to_pass[config_value] = req.body; 
} 

или:

var obj = JSON.parse(file); 
app.post('/save', function (req, res) { 
    config_to_pass[config_value][0] = req.body; 
} 

Кстати, это лучше включать некоторую реакцию, даже что-то вроде:

res.json({ok: true}); 

внутри обработчика. В противном случае запрос будет зависать и тайм-аут.

+0

Спасибо, сэр, мне помог второй. Я пытаюсь это сделать, но добавил. после config_to_pass. Я добавлю ваше предложение. Еще раз спасибо – momori14

Смежные вопросы