9
votes

Les datables ne peuvent pas lire la propriété de la propriété d'indéfinie

ci-dessous est la fonction prête du document xxx

ci-dessous est la réponse du serveur (getuser.ashx) xxx

ci-dessous est le HTML Tableau où les données doivent être placées xxx

résultat attendu:

 Entrez la description de l'image ici

mais je suis tombé sur un problème:

tandis que la page est chargée, il y avait une exception non capturée du navigateur: xxx

Lorsque je vérifie davantage, il est venu de la ligne 2037 de jquery.datatables.js xxx

 Entrez la description de l'image ici

J'ai vérifié que le JSON était valide, mais que" Adata "était null, pourquoi cela se produit ?


5 commentaires

Vous pouvez afficher la pile d'appels et revenir à la page Web la source du problème ...


Les propriétés suivantes ne sont pas séparées par une virgule. Est-ce un type? "Email": "white.smith@logical.com" "créédate": "1/21/2014 12:03:00" "Entitystate": "2", "Entitykey": "System.data. Entitykey "


@Nileh Ce n'est pas un type, c'est juste que j'ai oublié d'ajouter une virgule dans ce poste, j'ai ajouté ici ici


Désolé je voulais dire une faute de frappe pas de type :)


Dépend de la version DT, look Datatables.net/forums/discussion/11901/...


5 Réponses :


6
votes

Comme il y a 4 colonnes, ajoutez les éléments suivants dans "AOCOLUMNS":

$('#example').dataTable({
 "aLengthMenu": [[100, 200, 300], [100, 200, 300]],
  "iDisplayLength": 100,
  "iDisplayStart" : 0,
  "bProcessing": true,
  "bServerSide": true,
  "sAjaxSource": "GetUser.ashx",
  "sServerMethod": "POST",
  "sAjaxDataProp" : "",
  "aoColumnDefs": [ {
    "aTargets": [ 0 ],
    "mData": "download_link",
    "mRender": function ( data, type, full ) {
      return '<a href="/UserDetail.aspx?ID='+data+'">Detail</a>';
    }
  } ],
  "aoColumns": [
    { "mData": null },
    { "mData": "LoginId" },
    { "mData": "Name" },
    { "mData": "CreatedDate" }
  ]
});


0 commentaires

9
votes

Votre "SAJAXDATAProp": "" code> est défini sur une chaîne vide, ce qui provoque cette erreur.

datables espère avoir une chaîne ici à raconter sous quelle clé de la clé de votre serveur a renvoyé des données. trouvé. Ceci est par défaut à Aadata, votre JSON devrait donc inclure cette clé parmi toutes les autres personnes pouvant être renvoyées ou nécessaires à la pagination, etc. P>

JSON servant normal: p>

"sAjaxDataProp" : "myData"


0 commentaires

0
votes

Utilisez $ ('# exemple'). DataTable ({.. (capital d) au lieu de $ ('# exemple'). DataTable ({..


0 commentaires

3
votes

Si vous voyez cette erreur, consultez le JSON renvoyé à partir du serveur, puis assurez-vous que toutes vos valeurs de «MData» de DataTable ont une entrée correspondante. Si vous utilisez également un haricot, vérifiez également.

et il n'est pas nécessaire de préciser 'TR', 'TD', etc. pour la table. Il est beaucoup plus propre si vous laissez JQuery faire cela pour vous. Voici ce que mes tables ressemblent à: p> xxx pré>

, puis mes éléments de données spécifient le titre de largeur et de colonne: P>

{sTitle: "Column A", sWidth: "100px", mData: "idStringFromJson", bSortable: false},


0 commentaires

0
votes

Lorsque j'ai rencontré ce problème, c'était en réalité le résultat d'une migration non appliquée. J'avais restauré une sauvegarde de la base de données, qui n'avait pas encore eu l'une de mes récentes migrations de schéma, et une fois que j'ai couru des migrations, tout a bien fonctionné.


0 commentaires