2012-03-30 16 views
1

Ich habe eine PHP-Funktion, die entweder ein Array mit Zahlen oder ein Datum String-Objekt zurückgibt, muss ich wissen, wie zurückgegeben wird, ist ein Datum String-Objekt, unten ist ein Beispiel des CodesCheck Variable Daten gibt ein Datum Objekt

PHP-Funktion

function dateTimerArr($timestamp){ 
    //only return date array if days is less than or equal to 31 
    if(date("z", $timestamp)<=31){ 
     return array(
     's'=>intval(date("s", $timestamp)), //seconds 
     'i'=>intval(date("i", $timestamp)),  //min 
     'H'=>intval(date("H", $timestamp)),  //hours 
     'z'=>intval(date("z", $timestamp))  //days 
    ); 
    } 

    //otherwise return date 
    else{ 
     return date('d M Y | h:i A', $timestamp); 
    } 
} 

Teil des jquery Code

success: function(data){ 
    if(/*if data is date string object*/){ 
     alert('date string object'); 
    }else{ 
     alert('in this case an array has been returned') 
    } 
} 
+0

Wie das Ergebnis an den Client geschickt hat? JSON codiert? Dann ist '$ .isArray (data)' genau das, was Sie wollen. – Niko

+0

yeh es ist JSON-codiert, aber ich versuchte '$ .isArray (Daten);' und es gibt aus irgendeinem Grund falsch zurück –

+0

Es sollte false zurückgeben, wenn Daten ein Array ist. Können Sie den Ajax-Aufruf mit Firebug überprüfen, um sicherzustellen, dass die erwarteten Daten übertragen werden? – Niko

Antwort

1

Gehen Sie mit jQuery isPlainObject:

if (!$.isPlainObject(data)) { 
    alert('date string object'); 
} else { 
    alert('in this case an array has been returned') 
} 
+0

Danke, das '$ .isPlainObject' schien zu funktionieren –

Verwandte Themen