Hi, It sounds like you're not (telling Rails to) set the correct content type. The response.responseJSON property is set if (and only if) the content type of the response is "application/json" (or a synonym for it). Otherwise, it's blank (null or undefined, I don't know which; I would have said undefined except you said null in your note).
So: Ensure that your content is going out with the correct content type, and Prototype will correctly interpret it. I'm not a Rails-head (or Ruby-head, for that matter), so I'll just throw this out in case it's useful: Prototype has special handling built in (I suspect for Ruby or Rails) for a response header called X- JSON. If an X-JSON header is present on the response, its contents will be treated as JSON, deserialized, and made available as response.headerJSON. It's a means of sending back a primary response (HTML, XML, text, or whatever) *and* additional data in JSON format as a header alongside the primary response. So it may be worth checking if your Rails code is designed to set that header rather than the body. HTH, -- T.J. Crowder Independent Software Consultant tj / crowder software / com www.crowdersoftware.com On Feb 8, 8:05 am, patrick <[email protected]> wrote: > Ok.. so if I do this: > r.responseText.evalJSON(); > > it works...... But I just don't understand why it's text in the first > place.. It seems like something is wrong with the ajax request or > something.. ?? Is there a better way to do this.. ? > > -patrick -- You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en.
