Po AJAX užklausos kartais mano programa gali grąžinti tuščią objektą, pvz.:
var a = {};
Kaip galiu patikrinti, ar taip atsitiko?
Lengvo būdo tai padaryti nėra. Turėsite aiškiai peržvelgti savybes:
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
Jei yra ECMAScript 5 palaikymas, vietoj to galite naudoti Object.keys()
:
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
Pavyzdžiui:
var a = {tuščia:true};
Tada galite lengvai patikrinti jį savo AJAX grįžtamojo ryšio kode.
Kitas būdas tai patikrinti:
if (a.toSource() === "({})") // tada 'a' yra tuščias
EDIT: Jei naudojate bet kokią JSON biblioteką (pvz., JSON.js), galite išbandyti funkciją JSON.encode() ir patikrinti rezultatą, ar eilutė yra tuščia.