Ich versuche gerade zu überprüfen, ob die Antwort, die ich bekomme, leer ist. Nun, was ich denke, wird funktionieren:
%Vor% Ich denke, was ich tue, wird erreichen, was ich anstrebe, aber ich kann es nicht herausfinden, da ich eine zweite Ausgabe von tData[0] is undefined
habe und versuche, Daten für etwas zu holen Das, was ich weiß, wird definitiv eine leere Antwort zurückgeben, so weit es mich betrifft, sollte es nicht einmal diesen Teil des Codes treffen.
Ich bin damit etwas verloren, also wird jede Hilfe sehr geschätzt.
Wenn Sie in den Erfolgshandler Ihres $.ajax
-Aufrufs geraten, erhalten Sie wahrscheinlich ein leeres Objektliteral zurück (wenn ein JSON-Datentyp zurückgegeben wird). Also du bist Null-Check ist fehlgeschlagen, weil es wirklich nicht null ist - es ist leer.
Hier ist eine Auswahl von dem, was passiert:
%Vor%Im ersten Test wird die Nullprüfung fehlschlagen und Sie erhalten eine Warnung von 'object [Object]'. Aber der zweite Test wird erfolgreich sein und Sie erhalten die Warnung "Ich bin leer".
Hier ist ein Link zu jsFiddle: Ссылка
$. isEmptyObject () befindet sich in jQuery 1.4 (gemäß der jQuery-API) und ist daher nicht verfügbar, wenn Sie nicht in dieser Version sind.
Ich glaube, dass die Erfolgsfunktion auch dann eine Nicht-Null-Zeichenfolge übergeben wird, wenn keine Daten zurückgegeben werden. Daher müssen Sie möglicherweise nach tData == '' suchen (zusätzlich zur Überprüfung von tData == null)
Ich schlage vor, dass Sie das Rückgabeergebnis in eine Zeichenfolge konvertieren und dann mit der Validierung beginnen. bcos ajax gibt möglicherweise einen bestimmten Datentyp zurück, den Sie nicht validieren können: Probieren Sie dies
aus %Vor%