Requested unknown parameter '0' for row 0

Requested unknown parameter '0' for row 0

darkstaringdarkstaring Posts: 9Questions: 2Answers: 1

Hi, i have this error
** Requested unknown parameter '0' for row 0**

JSON
{
"anagrafica":
[
{"id":"1","nome":"Fra","cognome":"A...","cf":"CHN........","predefinito":"1"},{"id":"2","nome":"Salva","cognome":".....","cf":"","predefinito":"1"}
]
}

JAVASCRIPT
$('#lista').DataTable( {
"ajax": {
"url": "<?php echo $myurl;?>/<?php echo $myadmin_api;?>/get",
"dataSrc": "anagrafica"
}
});

This question has an accepted answers - jump to answer

Answers

  • colincolin Posts: 15,238Questions: 1Answers: 2,599

    Hi @darkstaring

    Because the data contains an array of objects, you need to define the source of the data - see this example here.

    So you'll need something like this:

    $('#lista').DataTable({
        "columns": [
            { "data": "id" },
            { "data": "nome" },
            { "data": "cognome" },
            { "data": "cf" },
            { "data": "predefinito" }
        ],
        "ajax": {
            "url": "<?php echo $myurl;?>/<?php echo $myadmin_api;?>/get",
            "dataSrc": "anagrafica"
        }
    });
    

    Cheers,

    Colin

  • darkstaringdarkstaring Posts: 9Questions: 2Answers: 1

    Thank you @colin now works ;)

  • darkstaringdarkstaring Posts: 9Questions: 2Answers: 1
    edited March 2018

    I have another question.....
    Ajax

        $('#lista_pazienti').DataTable( {
            "columns": [
                    { "data": "nome" },
                    { "data": "cognome" },
                    { "data": "cf" },
                    {
                    "data": null,
                    "defaultContent": "<button class='btn btn-primary' onclick='modifica_paziente();'><i class='fa fa-pencil'>&nbsp;</i></button> \
                                       <button class='btn btn-danger' onclick='delete_anagrafica();' ><i class='fa fa-times'>&nbsp;</i></button>"
                    }
                ],
                "ajax": {
                "url": "<?php echo $myurl;?>/<?php echo $myadmin_api;?>/get_GE_anagrafica",
                "dataSrc": "anagrafica"
                }
        });
    

    how can I pass the argument ID to the function
    modifica_paziente, delete_anagrafica

  • colincolin Posts: 15,238Questions: 1Answers: 2,599

    Hi again,

    Take a look at this example. This is similar to your goal - to have a clickable control within a cell. Here, the event listener works out which rows the cell is on.

    Cheers,

    Colin

  • darkstaringdarkstaring Posts: 9Questions: 2Answers: 1

    I do not understand.. :(

  • darkstaringdarkstaring Posts: 9Questions: 2Answers: 1

    any help?

  • allanallan Posts: 63,332Questions: 1Answers: 10,436 Site admin

    I would suggest that you don't use a DOM0 event, instead use a jQuery event listener like in this example.

    Allan

  • darkstaringdarkstaring Posts: 9Questions: 2Answers: 1

    Now i write this...

    var table = $('#lista_pazienti').DataTable( {
        "columns": [
                { "data": "nome" },
                { "data": "cognome" },
                { "data": "cf" },                
                {
                    "className":      'modifica',
                    "orderable":      false,
                    "data":           null,
                    "defaultContent": "<button id='btn_modifica' class='btn btn-primary'><i class='fa fa-pencil'>&nbsp;</i></button>"
                }
            ],
            "ajax": {
            "url": "<?php echo $myurl;?>/<?php echo $myadmin_api;?>/get_GE_anagrafica",
            "dataSrc": "anagrafica"
            }
    });
    
    
    
        $('#lista_pazienti tbody').on('click', 'btn_modifica', function () {
        var data = table.row( this ).data();
        console.log(data);
        //alert( 'You clicked on '+data[0]+'\'s row' );
    } );
    

    But not work

  • darkstaringdarkstaring Posts: 9Questions: 2Answers: 1
    Answer ✓

    Now work's

        $('#lista_pazienti tbody').on('click', '#btn_modifica', function () {
        var tr = $(this).closest('tr');
        var data = table.row(tr).data();
        console.log(data);
        });
    
This discussion has been closed.