Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Datatable - ajax success nadpisanie
rad11
post
Post #1





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mając poniższy kod i funkcje success dane nie są generowane przez DataTable.

Potrzebuje w success umieścić tą funkcje " getAccessMessageWithStatus(response) " - która sprawdza czy jest ustawiony obiekt i alertuje wiadomość jeśli jest . Jeżeli jej nie ma to chce wypełnić DataTable danymi z response. Jednak kiedy dodaję tą funkcje to tak jakbym nadpisywał funkcje wbudowaną w DataTable, a za tym idzie to że DataTable gubi dane z respons`u i nie wypełnia tabelki automatycznie więc muszę je jakoś dodać inaczej



  1. $('#' + datatableName).DataTable({
  2. destroy: true,
  3. 'bProcessing': false,
  4. 'bServerSide': true,
  5. 'ajax':
  6. {
  7. 'url': URL,
  8. 'data': filters,
  9. beforeSend: function () {
  10. loader.popup('show');
  11. },
  12. success: function (response) {
  13. getAccessMessageWithStatus(response);
  14.  
  15. },
  16. complete: function () {
  17. $listContainer.show();
  18. $containerChoiseColumnsFilter.show();
  19. $(".containerRaportButtons").show();
  20. getLastSearches();
  21. getUses();
  22. loader.popup('hide');
  23. }
  24. },
  25. 'sServerMethod': "POST",
  26. 'columns': columns,
  27. 'order': order,
  28. 'responsive': true
  29. });


Response z danych wygląda tak:

  1. aaData: [
  2.  
  3. {
  4. x: x
  5. },
  6. {
  7. x: x
  8. }
  9.  
  10. ],
  11. iTotalRecords: xx,
  12. iTotalDisplayRecords: xx


Response z funkcji
  1. msg : "xxxx",
  2. status : false


Jakieś pomysły jak to można zmienić , bawił się kiedyś ktoś z was tym?

Ten post edytował rad11 11.04.2016, 10:47:19
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Probowales tych rozwiazan?

Kod
var table = $('#example').DataTable( {
    "ajax": {
            "type" : "GET",
            "url" : "ajax.php",
            "dataSrc": function ( json ) {
                //Make your callback here.
                alert("Done!");
                return json.data;
            }      
            },
    "columns": [
            { "data": "name" },
            { "data": "position" },
            { "data": "office" },
            { "data": "extn" },
            { "data": "start_date" },
            { "data": "salary" }

        ]
    } );

Lub
Kod
"drawCallback": function(settings) {
   console.log(settings.json);
   //do whatever  
},


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
rad11
post
Post #3





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Ok coś musiałem źle robić ten przykład działa:

  1. $('#' + datatableName).DataTable({
  2. destroy: true,
  3. 'bProcessing': false,
  4. 'bServerSide': true,
  5. 'ajax':
  6. {
  7. 'url': URL,
  8. 'data': filters,
  9. beforeSend: function () {
  10. loader.popup('show');
  11. },
  12. "dataSrc": function (response) {
  13.  
  14. if (response.status == false) {
  15. alert(response.msg);
  16. loader.popup('hide');
  17. return [];
  18. }
  19. $listContainer.show();
  20. $containerChoiseColumnsFilter.show();
  21. $(".containerRaportButtons").show();
  22. getLastSearches();
  23. getUses();
  24. loader.popup('hide');
  25. return response.aaData;
  26.  
  27. }
  28. },
  29. 'sServerMethod': "POST",
  30. 'columns': columns,
  31. 'order': order,
  32. 'responsive': true
  33. });


Dodam ciekawostkę ze jeżeli zlikwiduje się średnik za funkcja w success to też działa.

Ten post edytował rad11 11.04.2016, 11:29:29
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 00:37