Po zahtevi AJAX lahko moja aplikacija včasih vrne prazen predmet, kot na primer:
var a = {};
Kako lahko preverim, ali je temu tako?
Tega ni mogoče narediti na preprost način. Lastnosti boste morali izrecno pregledati v zanki:
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
Če je na voljo podpora za ECMAScript 5, lahko namesto tega uporabite Object.keys()
:
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
Na primer:
var a = {prazno:true};
Nato ga lahko preprosto preverite v kodi povratnega klica AJAX.
Drug način preverjanja:
if (a.toSource() === "({})") // potem je 'a' prazen
EDIT: Če uporabljate katero koli knjižnico JSON (npr. JSON.js), lahko poskusite s funkcijo JSON.encode() in preizkusite rezultat proti praznemu nizu vrednosti.