views:

55

answers:

2

I have this code:

function useHttpResponse() 
{

 if (xmlhttp.readyState==4 )
 {
 var response = eval('('+xmlhttp.responseText+')');
  alert(response);
 for(i=0;i<response.Users.length;i++)
        alert(response.Users[i].UserId);

 }
}

When i alert, the first alert is "[object Object]"

Why is that so? I need to remove that...how?

A: 

Why is that so?

Because that is what you get when you convert a simple object to a string.

I need to remove that...how?

Delete alert(response); from your source

David Dorward
+1  A: 

Decoding a JSON string converts it into a native JavaScript object. When you alert() it, the object's toString() method is called to cast the object back to a string. Any object cast to a string becomes [object Object]. Consider the following example:

var myObj = new Object();
alert (myObj);            // alerts [object Object]
alert (myObj.toString()); // alerts [object Object]
alert (({}).toString());  // alerts [object Object]

If you want to JSON encode the object again, you can use the JSON.stringify() method found in modern browsers and provided by json2.js.

var myObj = {"myProp":"Hello"};
alert (JSON.stringify(myObj));    // alerts {"myProp":"Hello"};
Andy E
I GOT IT...THANK YOU....
Neethusha