[nota: le seguenti risposta è per DataTable 1.9x e sotto. 1.10 ha cambiato le convenzioni di denominazione dei metodi e alcune altre cose. I metodi 1.9x sono disponibili ma deprecati e saranno inevitabilmente eliminati completamente.]
Se è sicuro eliminarli "all'ingrosso" (cioè se si escogita una funzione di escape string che non influisce sulla validità del JSON), si può farlo utilizzando la funzione fnServerData:
"fnServerData": function (sSource, aoData, fnCallback) {
$.ajax({
"dataType": 'json',
"type": "GET",
"url": sSource,
"data": aoData,
"success": function (data) {
// run your escape string function to modify 'data'
fnCallback(data); // or fnCallback(newData) if you used new variable
}
});
}
Se non siete sicuri circa la sicurezza di modificarlo all'ingrosso, si può fare su una base riga per riga con il fnRowCallback:
"fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
var cellData = myEscaper(aData[0]); // where myEscaper() is your own custom function
$('td:eq(0)').text(cellData);
return nRow;
}
In questo esempio, sto solo modificando la prima cella. Se è applicabile a tutte le celle, probabilmente vorrai scrivere un iteratore che attraverserà l'intera riga per effettuare la conversione. Se è applicabile solo ad alcune celle, puoi gestirle una alla volta.
Si noti che aData [0] e td: eq (0) hanno solo coincidenza lo stesso indice (0). Se hai colonne nascoste, non ci sarà necessariamente una corrispondenza. Inoltre, se usi mDataProp, dovrai gestirlo anche tu.
fonte
2011-10-13 16:08:24
provare questa tecnica: http://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery – rcravens