Tip Details Add a Related Tip

Rate as: Positive Negative

Don't include a "length" attribute in a JSON Object

Just spent a bunch of time debugging this one...

I was creating a JSON object in Javascript that I was then sending back to the server via AJAX. I was doing this to error-check user input on the server before submitting the form for real.

But I had a problem. Once of the attributes in my object was called "length" and anytime the user input for this parameter had text in it (instead of a number), the Javascript would mysteriously die. The check would completely fail and the back-end call to the server was never even made.

Turns out that if you have a JSON object and you call one of the parameters "length", this will override the usual length method for the object. And if this length parameter then contains something it shouldn't (like text) the processing of this object will get messed up and the code will barf all over you.

So the take-away message is, if you are creating a JSON object, never call one of the attributes in it "length". It'll mess you up... it just cost me over an hour.
Rating: 100% positive, 1 Vote
Categories: Javascript JSON programming debugging
Added: on Apr 10, 2009 at 4:51 pm
Added By: an anonymous user
Searches: json object length javascript debugging

Comments on this Tip

Add a Comment
There are no comments for this tip
Your Comment:
(how to format)
Rate This Tip:

Verify Humanity:
Sorry, we know it's annoying, but please enter the characters shown in the image to the left so that we know you're an actual person and not an evil spammer. Thanks.
       

Related Tips

Debugging Javascript

100% positive, 0 comments
– Tip added by an anonymous user on Sep 12, 2008 at 2:35 pm

Detecting if a variable exists in Javascript

100% positive, 2 comments - last added on Oct 21, 2009 at 2:29 pm
– Tip added by an anonymous user on Jul 22, 2008 at 8:31 am

Telling when an iframe is done loading

85% positive, 3 comments - last added on May 16, 2009 at 7:48 am
– Tip added by an anonymous user on Apr 18, 2008 at 8:05 am

jQuery ajax responseText empty

100% positive, 2 comments - last added on Aug 25, 2009 at 9:58 am
– Tip added by an anonymous user on Mar 27, 2009 at 8:26 am

Length of associative arrays in Javascript

100% positive, 0 comments
– Tip added by an anonymous user on Nov 04, 2008 at 10:13 am

Matching any character in a javascript regular expression

100% positive, 2 comments - last added on Oct 08, 2009 at 2:33 am
– Tip added by an anonymous user on Aug 18, 2008 at 9:06 am

console.log statements not working in Firebug

100% positive, 1 comment - last added on Jan 22, 2009 at 1:05 pm
– Tip added by an anonymous user on Jan 12, 2009 at 2:22 pm

Trimming whitespace in Javascript

Categories: javascript programming
100% positive, 0 comments
– Tip added by an anonymous user on Sep 13, 2007 at 1:54 pm

reading select element values in javascript in IE7

100% positive, 0 comments
– Tip added by an anonymous user on Jul 17, 2009 at 1:28 pm

Unable to click in text input boxes on Internet Explorer

100% positive, 2 comments - last added on Aug 07, 2009 at 4:57 pm
– Tip added by Marcos84 on Dec 09, 2008 at 10:49 am

Optional parameters in javascript functions

100% positive, 0 comments
– Tip added by an anonymous user on Jul 30, 2008 at 10:44 am

Using optional parameter in javascript

Categories: javascript programming
100% positive, 0 comments
– Tip added by an anonymous user on Jul 17, 2008 at 7:49 am

Javascript Error: unterminated regular expression literal

50% positive, 0 comments
– Tip added by marty on Jun 26, 2008 at 1:20 pm

Javascript variable naming

100% positive, 1 comment - last added on Jul 22, 2008 at 8:33 am
– Tip added by an anonymous user on Sep 30, 2007 at 7:28 am

Checking for undefined variables in Javascript

100% positive, 1 comment - last added on Jul 14, 2009 at 5:13 pm
– Tip added by an anonymous user on Jan 14, 2009 at 9:47 am

compressing javascript

100% positive, 0 comments
– Tip added by an anonymous user on Jun 12, 2008 at 3:02 pm

attaching events to nodes in Javascript

no ratings, 0 comments
– Tip added by an anonymous user on Aug 18, 2008 at 11:23 am

animating elements with jQuery

0% positive, 0 comments
– Tip added by an anonymous user on Aug 04, 2008 at 1:46 pm

Is your unit test really a unit test

no ratings, 0 comments
– Tip added by hindy on Feb 29, 2008 at 11:06 am

Javascript: How to Create a Random Number

0% positive, 0 comments
– Tip added by Walkere on Feb 23, 2008 at 9:49 pm