Ajax source de données (objets) :TypeError: f n'est pas définie
Je suis en train de travailler sur mon ASP.Net application web où je dois remplir un tableau HTML avec Ajax source de données pour laquelle je fais une utilisation de jQuery DataTables plugin.
Code HTML:
<table class="table table-striped table-hover table-bordered display" id="example" cellspacing="0" width="100%">
<thead>
<tr>
<th>Prctice Group Risk No
</th>
<th>Practice_Group
</th>
<th>Risk_Category
</th>
</tr>
</thead>
</table>
Code JavaScript:
$('#example').DataTable({
"ajax": {
"dataType": 'json',
"contentType": "application/json; charset=utf-8",
"type": "POST",
"url":"index.aspx/Risky"
},
"columns": [
{ "data": "Prctice_Group_Risk_No" },
{ "data": "Practice_Group" },
{ "data": "Risk_Category" }]
});
Et voici ma Méthode Web, je fais un appel pour obtenir une réponse JSON de la liste des objets
[WebMethod]
[ScriptMethod]
public static string Risky()
{
return JsonConvert.SerializeObject(riskList);
}
Réponse JSON à partir du serveur:
d:"[{"Prctice_Group_Risk_No":1,"Practice_Group":"M&A","Risk_Category":"Conflicts of Interests"},{"Prctice_Group_Risk_No":2,"Practice_Group":"abc","Risk_Category":"Client Care and Communication"}]
La réponse JSON retourné semble très bien pour moi, comme décrit dans le site officiel de jquery DataTables
http://www.datatables.net/examples/ajax/objects.html
Mais aucune donnée n'est remplie dans le tableau et j'obtiens l'erreur suivante dans ma Console Firebug
TypeError: f n'est pas définie
Résolu : Voir la Solution de travail, ici stackoverflow.com/a/54146071/9222769
OriginalL'auteur umer | 2015-11-11
Vous devez vous connecter pour publier un commentaire.
Par défaut, jQuery DataTables attend Ajax de source de données dans le format suivant.
Si les données de format différent, vous devez utiliser
ajax.dataSrc
de définir des propriétés de données pour les données de la table (d
dans votre exemple).Je ne suis pas ASP.NET expert mais il me semble que vous encodez vos données au format JSON deux fois.
Pour votre code côté serveur, essayez ce code JavaScript:
Voir jQuery DataTables: Commune de la console d'erreurs pour plus d'informations sur ce sujet et sur d'autres communes de la console d'erreurs.
Bonjour @Gyrocode.com pouvez vous s'il vous plaît visitez le lien à ma question et de m'aider stackoverflow.com/questions/33738032/...
vient d'ajouter une réponse.
OriginalL'auteur Gyrocode.com