2017-06-12 3 views
1

Ich habe eine Ajax-Methode bekommen, wer meinen Controller aufrufen. In Erfolgsfunktion bekommen es zwei Arrays: eventos.asignados und eventos.noAsignadosAjax Validierung im Erfolg scheitern immer erhalten EmptyObject true

Problem ist die Validierung immer wahr, weil es mir alert immer senden, wie Sie es sehen können: enter image description here

mir jemand erklären kann, warum es Validierung passieren, wenn Mein Array ist nicht leer?

Ajax-Aufruf:

$.ajax({ 
     type: 'GET', 
     url: "/Agenda/GetTareasCalendario/", 
     data: { 
      //data there 
     }, 
     dataType: 'json', 
     success: function (eventos) { 

      refreshCalendarEvents(eventos.asignados); 
      addEvents(eventos.noAsignados, true); 

      if ($.isEmptyObject(eventos.asignados && eventos.noAsignados)) { 
       alert('No se han encontrado resultados con los filtros seleccionados.'); 
      } 
     } 
    }); 
}); 
+0

'eventos.asignados && eventos.noAsignados' wird zu "eventos.noAsignados" ausgewertet. Sie enden also im Wesentlichen mit '$ .isEmptyObject (eventos.noAsignados)', d. H. Sie prüfen nur, ob eine der Eigenschaften leer ist. –

Antwort

1

ändern if Bedingungen wie unten für leere Objekte prüfen eins nach dem anderen

Versuchen Sie folgendes:

if ($.isEmptyObject(eventos.asignados) && $.isEmptyObject(eventos.noAsignados)) { 
    alert('No se han encontrado resultados con los filtros seleccionados.'); 
}