I have seen other websites take equations in POST without any uri encoding
–
arbitheroSep 30 '10 at 9:17

We do this for certain characters, like + which is a "space" according to RFC 1738. If other websites don't appear to throw uri encoding over their values, it's likely a framework solves this problem for them. In this/your case it does not seem to happen like that.
–
CharlesLeafSep 30 '10 at 9:19

It's not just +. If you forget to URL-encode components of your submission, any &, %nn or non-ASCII sequences inside that content are going to cause trouble. You are creating an application/x-www-form-urlencoded dataset of the form a=b&c=d, regardless of whether that's used as a GET query string or a POST request body. @arbithero: Yes, lots of sites put a dataset together without encoding. That's because most webdevs haven't a bleeding clue. Those scripts will break as soon as you put unexpected characters in.
–
bobinceSep 30 '10 at 9:33

I know, I said "like +", meant as 'for example' ;) But good to point it out for people who are unfamiliar with it!
–
CharlesLeafSep 30 '10 at 9:34

This is doing an XMLHttpRequest. If you wanted to send multipart/form-data you'd have to create that request body manually, which is more effort than for application/x-www-form-urlencoded.
–
bobinceSep 30 '10 at 9:35