У меня есть несколько функций jQuery, которые получают данные JSON из базы данных MySQL и отображают их на определенных страницах моего приложения.
У меня есть около 15 из этих функций, которые похожи на приведенные ниже, и я хотел бы привести их в порядок и преобразовать в одну основную функцию, которая возвращает данные на основе переменных, переданных в функцию. IE getdata (подписки) будет отображать подписки.
Моя проблема в том, что я не уверен, как передать имена столбцов в функцию из запроса ajax и удалить значение value.column-name из функции.
Пример функции из приложения
function GetSubscriptions(){
$.ajax({
url: 'jsondata.php',
type: 'POST',
dataType:'json',
timeout:9000,
success: function (response)
{
var trHTML = '';
$.each(response, function (key,value) {
trHTML +=
'<tr><td>' + value+
'</td><td>' + value.subscription_name +
'</td><td>' + value.subscription_cycle +
'</td><td>' + value.subscription_cost +
'</td><td>' + value.subscription_retail +
'</td><td>' + value.subscription_profit +
'</td><td>' + value.subscription_margin +
'</td><td>' + value.subscription_markup +
'</td></tr>';
});
$('#subscription-results').html(trHTML);
},
});
}
Любая помощь очень ценится, так как я довольно новичок в jQuery
Вы можете обратиться к этому коду:
function GetSubscriptions(){
$.ajax({
url: 'jsondata.php',
type: 'POST',
dataType:'json',
timeout:9000,
success: function (response)
{
$('#subscription-results').html(parseColumns(response));
},
});
}
function parseColumns(columns) {
var html = '';
if (Object.prototype.toString.apply(columns) === '[object Array]') {
$.each(columns, function(key, value) {
html += parseColumn(value);
})
} else {
html += parseColumn(columns);
}
function parseColumn(column) {
var trHTML = '<tr><td>' + column + '</td>';
for (var key in column) {
trHTML += '<td>' + column[key] + '</td>'
}
trHTML += '</tr>';
return trHTML;
}
return html;
}
Других решений пока нет …