rails removes newlines and spaces from ajax requests


I have an app which posts an ajax request with with text area content,
but when it does post it it gets all the newlines and multiple spaces
removed (need to use multiple spacing for use with markdown code

I've created a sample app which you can see here http://test.42horizons.com/test,

View it in IE 8 and both requests remove line spaces and new lines,
view it in firefox 3.6.3 windows and the left request works ok and the
right request removes line spaces and new lines

the echo action which the requests are sent to simply removes the
controller and action keys from params and then does

render :text => params.to_json

Anyone have any ideas what I'm doing wrong?

After look deeper it looks like ActiveSupport::JSON.decode is to
blame, heres an example

ActiveSupport::JSON.decode("data=\"\\u000a function(){\
\u000a var a = 1;\\u000a }\\u000a\\u000a \"")
=> data=\" function(){ var a = 1; }\n\"

Anyone know if theres a fix to this?

I think the way you're posting data is weird. You're taking a string,
encoding it as json but then submitting it as a normal url encoded


I've change the ajax posting from "data=some data" to "{data:'some

Hopefully thats what you meant

Unfortunatley this hasnt changed the response, rails is still removing
the spaces and new lines

Is this what you mean?

I've change the ajax posting from "data=some data" to "{data:'some

So if you do that then you will need to set the content-type to
application/json, or else rails will try to parse it as something else