Я прошу HTML-страницу через Ajax.AJAX & JSON: применить tableToJSON() к данным, полученным через ajax
Эта страница содержит <table id="studentsTable" ..
, что я хочу, чтобы преобразовать в формат JSON с функцией tableToJSON()
:
$.ajax({ url:'https://domain.org/en/courses/1226/course_applications',
success: function(data) {
var $html = $(data);
var $table = $html.find('#studentsTable').parent();
console.log($table.html()); //This prints correctly the <table>..contents..</table>
var tableJ = $table.tableToJSON();
console.log(tableJ); //This prints Array[0] !!
}
});
Я делаю parent()
вещь, потому что если нет, то <table>
и </table>
теги были отрублены.
Моя проблема заключается в том, что я новое в JQuery и, очевидно, я делаю что-то неправильно при вызовеtableToJSON()
Целью является, учитывая таблицу, как это:
<table border="1" id="studentsTable">
<thead>
<tr>
<th>Name</th>
<th>Surname</th>
<th>Age</th>
<th>Gender</th>
<th>Old</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>Smith</td>
<td>40</td>
<td>M</td>
<td>N</td>
</tr>
<tr>
<td>Clare</td>
<td>Lander</td>
<td>34</td>
<td>F</td>
<td>Y</td>
</tr>
</tbody>
до получить объект JSON, подобный этому (для дальнейшей обработки в Chrome-extens ион бута это будет другой вопрос-;)
[
{
"Name": "John",
"Surname": "Smith",
"Age": "40",
"Gender": "M",
"Old": "N"
},
{
"Name": "Clare",
"Surname": "Lander",
"Age": "34",
"Gender": "F",
"Old": "Y"
}
]
Заранее спасибо за ваше терпение и терпимость!
Скорее всего, ОП использует https://github.com/lightswitch05/table-to-json – Tomalak
Уважаемый @ADyson, спасибо за ваш ответ. То, что вы предложили, имеет смысл, но теперь tableToJSON возвращает пустой массив: [] С другой стороны, да, Tomalak, tableToJSON требует дополнительную библиотеку: https://github.com/lightswitch05/table-to-json – Pakosis
@Pakosis нет, когда Я запускаю его, это не так. Работает отлично. Убедитесь, что вы определенно передаете ему правильный элемент. Постскриптум Вы получите более читаемый результат, если вы выполните 'console.log (JSON.stringify (tableJ));' – ADyson