Pärast AJAX päringut võib minu rakendus mõnikord tagastada tühja objekti, näiteks:
var a = {};
Kuidas ma saan kontrollida, kas see on nii?
Seda ei ole lihtne teha. Te peate omadusi selgesõnaliselt läbi käima:
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
Kui ECMAScript 5 tugi on saadaval, võite selle asemel kasutada Object.keys()
:
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
Näiteks:
var a = {empty:true};
Seejärel saate seda hõlpsasti kontrollida oma AJAXi tagasikutsumise koodis.
Teine võimalus selle kontrollimiseks:
Kui (a.toSource() === "({})") // siis on 'a' tühi
EDIT: Kui kasutate mingit JSON raamatukogu (nt JSON.js), siis võite proovida JSON.encode() funktsiooni ja testida tulemust tühja väärtuse stringi suhtes.