Bir AJAX isteğinden sonra, bazen uygulamam aşağıdaki gibi boş bir nesne döndürebilir:
var a = {};
Durumun böyle olup olmadığını nasıl kontrol edebilirim?
Bunu yapmanın kolay bir yolu yok. Özellikler üzerinde açıkça döngü yapmanız gerekecektir:
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
ECMAScript 5 desteği](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys#Browser_compatibility) mevcutsa, bunun yerine Object.keys()
kullanabilirsiniz:
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
Örneğin:
var a = {empty:true};
Daha sonra AJAX geri arama kodunuzda kolayca kontrol edebilirsiniz.
Kontrol etmenin başka bir yolu:
if (a.toSource() === "({})") // o zaman 'a' boştur
EDIT: Herhangi bir JSON kütüphanesi (örneğin JSON.js) kullanıyorsanız, JSON.encode() işlevini deneyebilir ve sonucu boş değer dizesine karşı test edebilirsiniz.