So posten Sie den Parameter im Ajax-Aufruf von Jquery Datatable

Lesezeit: 2 Minuten

Benutzer-Avatar
chaya

Ab sofort übergebe ich Parameter zusammen mit der URL im Ajax-Aufruf der Datentabelle.

Aber ich möchte es so weitergeben POST Methode, bitte jemand, der mir bezüglich der Parameterübergabe in der Post-Methode hilft, hier ist mein Testcode:

// Sending through GET
var $table = $('#example').dataTable( 
    "processing": true,
    "serverSide": true,
    "bDestroy": true,
    "bJQueryUI": true,
    "ajax": 'getResult.php?formName=afscpMcn&action=search&mcn_no='+mcnNum+'&cust_nm='+cust_num+'&emp_id='+emp+''
});

  • hast du diese Seite gesehen? datatables.net/examples/server_side/post.html

    – pecci

    26. August 2014 um 12:25 Uhr

  • lies einfach die Handbuch

    – Kevin

    26. August 2014 um 12:25 Uhr

  • Ich möchte den Parameter wie Formularname, Aktion und andere Parameter übergeben. In diesem Handbuch werden nur Spaltendaten erwähnt

    – Tschaja

    26. August 2014 um 12:28 Uhr

Benutzer-Avatar
Kevin

Übergeben Sie es einfach wie ein normales jQuery-Ajax im POST-Modus.

Der Aufbau sollte so aussehen:

ajax: { type: 'POST', url: <path>, data: { your desired data } }

Beispiel:

var $table = $('#example').dataTable( 
    "processing": true,
    "serverSide": true,
    "bDestroy": true,
    "bJQueryUI": true,
    "ajax": {
        'type': 'POST',
        'url': 'getResult.php',
        'data': {
           formName: 'afscpMcn',
           action: 'search',
           // etc..
        },
    }
});

Greifen Sie in PHP einfach wie gewohnt auf die POST-Indizes zu (nur der einfache Ansatz):

getResult.php

$form_name = $_POST['formName'];
// the rest of your values ...

Manueller Eintrag in DataTables

  • Hey Kevin, ich habe Probleme, wenn der JSON 0 Ergebnisse zurückgibt. Stellen Sie sich vor, die Tabelle hätte keine Einträge. Wenn also ein leerer JSON zurückgegeben wird, erhalte ich einen Fehler von der Datentabelle Format.. Wissen Sie, wie ich damit umgehen kann?

    – Sophie

    8. Januar um 1:16

  • @Sophie es ist wichtig, dass alles, was Sie in Ihrer Antwort haben, immer noch eine gültige Struktur ist, die für das Format akzeptabel ist, das Datentabellen benötigen, wenn Sie es an die Clientseite zurückgeben. datatables.net/examples/server_side/simple.html auch wenn es null Zeilen sind.

    – Kevin

    7. Februar um 23:50 Uhr

Sie können es auf diese Weise versuchen:

$('#example').dataTable( {
  "ajax": {
    "url": "data.json",
    "data": function ( d ) {
        d.extra_search = $('#extra').val();
    }
  }
});

https://datatables.net/reference/option/ajax.data

Benutzer-Avatar
Abdullah Scheich

$("#tbl").dataTable({
            oLanguage: {
                sProcessing: '<div id="loader"></div>'
            },
            bProcessing: true,
            "bServerSide": true,
            "iDisplayLength": pageSize,
            "sAjaxSource": " /PurchaseOrder/AddVendorItems", // url getData.php etc
            "fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
                aoData.push({ "name": "where", "value": ID +" AND ISNULL(IsFinal,0) = "+ ($("#chkFinal").bootstrapSwitch('state') == true ? 1 : 0) });
                aoData.push({"name": "PackIDFK", "value": $("#PackIDFK").val()}) //pushing custom parameters
                oSettings.jqXHR = $.ajax( {
                    "dataType": 'json',
                    "type": "POST",
                    "url": sSource,
                    "data": aoData,
                    "success": fnCallback
                } );
            } });

Dies ist ein Echtzeitbeispiel. Die aoData enthält alle Parameter, die auf der Serverseite erforderlich sind, und Sie können auch Ihre eigenen benutzerdefinierten Parameter übertragen

1032610cookie-checkSo posten Sie den Parameter im Ajax-Aufruf von Jquery Datatable

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy