James Revillini

Say 'no' to styrofoam.

Tag: firebug

‘no element found’ in firebug or firefox javascript console (part 2)

I was right. If the server sends a response and the ‘Content-Type’ attribute is ‘text/xml’, you must send at least a root node so the xml parser that is built into Mozilla’s XMLHTTPRequest object doesn’t cak and give you a ‘no element found’ Javascript error.

This could be an issue for those of us who are trying to do the REST thing and send back proper status codes depending on the request method and actions taken by the server. A 204 (Updated) or 205 (Deleted) response cannot, by definition, have any content body, so sending a root node is not an option to get around this error. The server needs to determine if the response is going to have an xml content body and assign the Content-Type on the fly.

‘no element found’ in firebug or firefox javascript console

I think I figured it out. I think that the issue crops up if your server sends a response header of ‘Content-Type’ set to ‘text/xml’ and you send no content. The XMLHTTPRequest object then says ‘oh it’s xml? fine – i’ll just PARSE THIS and store it in the reponseXML property.’ At that point, the XML Parser probably bombs and nothing catches it. But anyway that’s just a hunch and I’m only blogging about it because I’m bored. I’ll have test results available later.

A Bug in FireBug

Firebug 0.4.1 and 0.4.0 suffer from a very peculiar bug. If you create an object with a property called ‘-URL’, you can not use console.log to see the value of the property using the console.

Steps to reproduce:

In the console, type

x = {'-URL' : 'foo.pdf', '-Size' : 100};

Now type


Now press enter and click on the [Object object] item which shows up in the console. You will see the ‘-Size’ property, but not the ‘-URL’ property. Next, enter the following into the console and press Enter:


You should now see “foo.pdf” get output to the console. So the value is in Javascript memory, but Firebug won’t show it to you. On a related note, you also cannot view methods of a custom object which are defined using the same means as described above … most of the time. Sometimes it works, so I can’t say for sure what the steps are to reproduce this behavior every time. Why am I blogging about this? Hopefully it will save some other Javascript developer a few hours. Credit goes to my friend, Matthew Metnetsky, for showing me the issue.

© 2017 James Revillini

Theme by Anders NorenUp ↑