我可以在单个请求中呈现部分并返回JSON吗?

时间:2012-10-12 00:07:09

标签: javascript ruby-on-rails ruby json xmlhttprequest

我想要完成的事情很简单。我正在使用Rails和CoffeeScript(以及S3)。

  1. 用户将文件拖放到放置区域以进行上传。

  2. CoffeeScript向Rails控制器操作发送xmlHTTP请求,以获取S3请求的签名URL。

  3. Rails为上传创建记录,创建签名请求URL,并发回包含签名URL的JSON对象以及进度事件的上传ID,以及不包含的内容。

    < / LI>

    由于我使用JSON响应Rails操作,因此我无法使用rails呈现.js.coffee(.erb)文件来更新包含上载计数的部分。

    是否有一种方便的方法可以通过单个请求完成这两项任务?

    感谢您的帮助:)

2 个答案:

答案 0 :(得分:1)

而不是使用js.erb,对部分使用render_to_string方法并使用json响应发送它

答案 1 :(得分:0)

如果你希望通过一个请求完成所有事情,你可以:

  • 以js格式响应操作,然后编写所有逻辑以在一个已知位置/变量中设置JSON字符串,更新计数器等等,所有这些都在一个地方。

  • 将XMLHttpRequest的编码设置为JSON,使用所需的JSON字符串以JSON格式响应操作,然后在客户端请求的成功回调中更新客户端的计数器。这具有以下优点:&#34;不复杂&#34;通过将所有计算留在最终用户设备的手中来实现您的响应逻辑。