is this object empty, Javascript
I have an ajax system set up. When the MySQL query returns no data, I need it to pass an empty object back. I create a node called 'data' in the php script and even when the query returns no data I pass $data['success'] = 1.
The trick is I can't figure out how to check to see if the query was returned data or not.
I have tried...
// sub responseObj.data for responseObj.data[0] for the following if's
if(responseObj.data[0].length == -1)
if(responseObj.data[0] == null)
if(responseObj == undefined)
//edit: added this...
if(!responseObj.data[0])
and I've really lost tack of any other various snippet's i've tried.
EDIT: adding xml generated that is passed to my script
XML - returning zero results<response_myCallbackFunction>
<success>1</success>
<response_myCallbackFunction>
XML - returning a populated query
<response_myCallbackFunction>
<data>
<random_data>this is data</random_data>
</data>
<success>1</success>
<response_myCallbackFuncti开发者_如何学Pythonon>
Is there a way to check to see if an object is empty in javascript?
-thanks
Obj.hasOwnProperty('blah')
does not seem to work for checking to see if the property exists.
function isEmptyObj(obj){
for(var i in obj){
return false;
}
return true;
}
isEmptyObj({a:1}); //returns true
isEmptyObj({}); //returns false
You could try
if( responseObj["data"] ) {
// do stuff with data
}
or
if( responseObj.hasOwnProperty("data") && responseObj.data ) {
// do stuff with data
}
if(typeof responseObj.data != 'undefined') {
// code goes here
}
for ES5 you have getOwnPropertyNames
:
var o = { a:1, b:2, c:3 };
Object.getOwnPropertyNames(o).length // 3
If responseObj
is the XML Document object (from the xhr.responseXML
property), then:
if (responseObj.getElementsByTagName("data").length > 0) {
// do stuff...
}
If responseObj
is a JavaScript object:
if (responseObj.data) {
// do stuff...
}
精彩评论