<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 17 January 2014 14:22, Andrew Stewart <span dir="ltr"><<a href="mailto:boss@airbladesoftware.com" target="_blank">boss@airbladesoftware.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im"><span style="color:rgb(34,34,34)">I wrote this five years ago and haven't needed to revisit it since.  These days there are doubtless better ways to handle AJAX responses and update the page ;)</span></div>
</blockquote><div><br></div><div>No, this is a perfectly fine way to things, especially since Rails provides XSS protection when rendering HTML on the server. The main other sensible way to do this is for the server to return JSON, and have the client-side code turn that into HTML. You do however need to make sure the client-side code performs HTML-escaping of content to avoid XSS attacks, or use a templating language like EJS or Jade that does this for you.</div>
<div><br></div><div>Although Rails encourages it, you should not return JavaScript in response to an Ajax call, especially not for GET requests since it leads to CSRF attacks. See <a href="https://github.com/jcoglan/unsafe_sjr">https://github.com/jcoglan/unsafe_sjr</a> for a demo. </div>
</div></div></div>