У меня есть рабочий код, который я пытаюсь изменить.
let table_specs = {'columns': [ {'name': 'Col1', 'width': 7, ....},
{'name': 'Col2', 'width': 8, .....},
........
{'name': 'Coln', 'width': 30, ....}]}
foo(table_specs)
function foo(table_specs){
for (clmn of table_specs.columns){
// do something
}
}
Я пытаюсь изменить программу, чтобы она сохраняла table_specs в файле JSON и извлекала их с помощью вызова ajax.
z_grid_specs. json
{
"grid1":"{'columns': [ {'name': 'Col1', 'width': 7, ....}, ... {'name': 'Coln', 'wiith': 8, ...}]}"
}
. js на сервере
var pjson_grid = require('../startup/z_grid_specs.json');
router.get('/grid_specs', (req, res)=> {
res.json(pjson_grid)
})
и я звоню :
var table_specs={}
$.ajax({
type: 'GET',
contentType: 'application/json',
url: '/session/grid_specs',
success:function(response_data_json) {
console.log(response_data_json.grid1)
table_specs = response_data_json.grid1
foo(table_specs)
}
});
Я могу проверить, что ajax вызывает верные данные, которые выглядят как массив в исходном коде. Но я получаю ошибку на следующем шаге:
table_specs.columns не повторяется
Я получаю ту же ошибку, если использую JSON .stringify (response_data_ json .grid1).
Если я использую JSON .parse (response_data_ json .grid1), я получаю:
Неожиданно токен в JSON в позиции 1