2017-01-02 2 views
0

Ich arbeite an einem Projekt mit Codeigniter. Ich versuche, Daten zu verwenden, um Daten anzuzeigen, die von Ajax abgerufen werden. die Registerkarte Netzwerk zeigt, dass die Ajax-Werte korrekt zurückgegeben, aber die Funktion ist als 404 markiert und ich erhalte diese StörungDatatables von Ajax in Codeigniter Ausgabe

"DataTables warning: table id=data - Ajax error. For more information about this error, please see http://datatables.net/tn/7" 

Hier ist die Ajax in der Registerkarte Netzwerk

enter image description here

Ich habe die Antwort und es ist richtig. Ich habe die Ajax-Funktion wie folgt geöffnet: domain.com/module/controller/merchantsTable und ich bekam richtige Daten

{ "merchantsdata":[{"id":"6","email":"[email protected]"},{"id":"7","email":"[email protected]"}]} 

Datentabellen Code [Update: hinzugefügt 'Verarbeitung' und 'Serverside']

<table id="data"> 
    <thead> 
    <tr> 
     <th>id</th> 
     <th>email</th> 
    </tr> 
    </thead> 
    <tfoot> 
    <tr> 
     <th>id</th> 
     <th>email</th> 
    </tr> 
    </tfoot> 
    <tbody> 

    </tbody> 
</table> 

//base_url refers to https://www.domain.com/ 

$(function() { 
    $('#data').DataTable({ 
     "processing": true, 
     "serverSide": true, 
     "ajax": "<?=base_url()?>merchants/admin_merchants/merchantsTable", 
     "columns": [ 
      { "merchantsdata": "id" }, 
      { "merchantsdata": "email"} 
     ], 
     "order":[0 , 'desc'], 
     "lengthMenu": [[20, 50, -1], [20, 50, "All"]] 
    }); 
}); 

Also, wie Sie dieses Problem beheben und es funktionieren lassen?

+0

Es ist offensichtlich, dass die Antwort tatsächlich NICHT korrekt ist. Ihre Daten sind vorhanden, aber Datatables benötigt zusätzliche Parameter, um zu funktionieren. Werfen Sie einen Blick auf [diese SO-Antwort] (http://stackoverflow.com/questions/26387356/codeignit-with-datatables-ajax-populate) – markpsmith

+0

gearbeitet, ohne den Code zu ändern. Mein Fehler dort war ein anderer Ordner im Stamm namens "Händler", so dass Ajax nicht Daten aus dem Codeigniter-Route-Pfad, sondern aus dem Ordner im Stamm abrufen. Danke für Ihre Hilfe –

Antwort

0

Änderung

<table id="data"> 
    <thead> 
    <tr> 
     <th>id</th> 
     <th>email</th> 
    </tr> 
    </thead> 
    <tbody> 

    </tbody> 
    <tfoot> 
    <tr> 
     <th>id</th> 
     <th>email</th> 
    </tr> 
    </tfoot> 
</table> 
0

funktionierte ohne den Code zu modifizieren. Mein Fehler, es gab einen anderen Ordner in der Wurzel namens "Händler", also Ajax nicht Daten aus dem Codeigniter Route Pfad (Händler-Modul), sondern aus dem Ordner im Stamm, der falsch ist, so habe ich den Ordner im Stamm umbenannt und es hat funktioniert.