我正在使用服务器端渲染我的数据表现在我想改变我从json获得的数据。
这是我想做的事情
ajax:({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
type: "GET",
url: '{{ url('admin/getLogData') }}'+goURI,
"dataSrc": function(json) {
var return_data = new Array();
for(var i=0;i< json.data.length; i++){
//console.log(json[i].conversion_id);
//console.log(json.data[i].audit_type);
if(json.data['i'].audit_type=='text'){
var lnk='<a href={{ url('admin/text/view/') }}/'+ json.data[i].text_id + '>' + json.data[i].text_name +'</a>';
}
if(json.data['i'].audit_type=='msg'){
var lnk='<a href={{ url('admin/msg/view') }}/'+ json.data[i].msg_id + '>' + json.data[i].msg_company + '</a>';
}
if(json.data['i'].audit_type=='view'){
var lnk='<a href={{ url('admin/view/view') }}/'+ json.data[i].view_id + '>' + json.data[i].view_company + '</a>';
}
return_data.push({
'aID': json.data[i].audit_id,
'dTime': json.data[i].created_at,
'aType': json.data[i].audit_type,
'alink' : lnk,
'aUser' : '<a href=mailto:'+ json.data[i].email +'>' + json.data[i].name + ' - ' + json.data[i].email + '</a>',
'aAct': '<a class=nyroModal href={{ url('admin/getAuditLog') }}/' + json.data[i].audit_id + '>view</a>',
})
}
return return_data;
}
})
如果您看到我想根据我从AJAX获得的响应更新lnk变量的值。但是我收到了未定义的audit_type错误。
任何人都可以帮忙解决这个问题吗?
答案 0 :(得分:0)
render功能允许您在显示之前操纵json。关键的是,full
参数表示整行数据,因此您可以按索引访问所有元素。
"render": function ( data, type, full, meta ) {
if(full[2]=='text'){
return '<a href={{ url('admin/text/view') }}/'+ full[10] + '>' + full[11] + '</a>';
}
if(full[2]=='msg'){
return '<a href={{ url('admin/msg/view/') }}/'+ full[8] + '>' + full[9] +'</a>';
}
if(full[2]=='view'){
return '<a href={{ url('admin/view/view') }}/'+ full[6] + '>' + full[7] + '</a>';
}
}