Проблема шаблона jQuery с данными JSON
Я использую шаблон JQuery, который принимает данные JSON для создания таблицы. Этот код работает нормально. Но когда я пытаюсь создать функцию вокруг этого кода и передать ей данные JSON, которые я получаю из запроса AJAX, он показывает значения в консоли, но не в таблице. Рабочий код с фиктивными данными:
var json = [{"class":12,"marks":"500","marks1":"200","marks2":"300"},{"class":11,"marks":"200","marks1":"300","marks2":"400"}]
$.template('kList','<tr title="${class}"><td>${marks}</td><td>${marks1}</td><td>${marks2}</td></tr>');
for(var i=0; i<json.length; i++){
$.tmpl('kList',json[i]).appendTo("#table1")
}
Вот код, где я деформирую верхний код в функции и передаю данные JSON в качестве параметра, который показывает значения в консоли, когда я печатаю их с console.log(json)
но не заполняя стол. Параметр JSON имеет те же данные JSON, что и в приведенном выше коде.
function dataTable(json){
console.log(json); // here json values are appearing in the console
$.template('kList','<tr title="${class}"><td>${marks}</td><td>${marks1}</td><td>${marks2}</td></tr>');
for(var i=0; i<json.length; i++){
$.tmpl('kList',json[i]).appendTo("#table1")
}
}
Пожалуйста, помогите мне, потому что я не знаю, что не так в этом коде. Заранее спасибо.
1 ответ
Ваш json
Параметр является строкой. Вы должны преобразовать его в объект, используя $.parseJSON
(JSON).
Посмотрите на это для детализации конверсии.