在JS回调中接收来自rails 4.0的流
Recieving a stream from rails 4.0 in JS callback
我正在尝试将图像文件从服务器传输到客户端,但我的javascript回调在流关闭之前变得活跃,我这样做是因为在传统的render json中发送它:超时并且需要很长时间。流花费的时间要少得多,但是i keep不能在回调触发之前获得所有的数据。
控制器代码 def mytest
image=ImageList.new(AssistMe.get_url(image_url))
response.stream.write image.export_pixels(0, 0, image.columns, image.rows, 'RGBA').to_s
response.stream.close
end
javascript var getStream, runTest;
runTest = function() {
return $.post('/dotest', getStream);};
getStream = function(params) {
return document.getElementById('whatsup2').innerHTML =
"stream is here " + params.length;};
响应是一个数组,我可以通过在前面添加一个"["和一个"],['finish']来使它成为数组的数组,在最后能够检测到数据的结束,但我还没能弄清楚如何让javascript等到流结束才运行。我假设我需要设置某种极点来检查结束,但是我如何将它附加到回调?
好的,这里有一个博客很好地描述了这个
博客但是我决定放弃流而使用.to_s。因为你可以管多个动作
object.method.method呈现。在没有复杂性的情况下,您可以获得使用流的所有服务器端好处。如果您有一个缓慢的过程,需要重叠客户端和服务器操作,那么请访问博客并这样做。否则to_s就能很好地覆盖它
相关文章:
- 如何使用offer/answer交换来自两个对等连接的流
- 使用主干网和rails的静态页面路由
- 对象中可选字段的流类型
- 为什么没有调用我的流错误处理程序
- javascript绑定另一个select2输入字段rails的select2 inputonchange事件的数据
- Rails的问题,haml + javascript在字段对象的模糊
- jquery-ui-rails的draggable和dropable函数不起作用
- Rails 4-具有依赖字段Rails的条件JS
- 点击Web Audio Api播放的流中的声音
- 基于Rails的javascript应用程序的安全性:如何在渲染的javascript中验证用户的权限
- 使用JavaScript的流式soundcloud音轨;不起作用
- 如何创建带有rails的按钮,用javascript添加输入字段
- 对HTML5中的流媒体视频感到困惑
- 实现动态表单验证 Rails 的最佳方式
- 如何将 phantomjs pdf 呈现为可返回的流
- 在 HTTPS 网站中包含不安全的流网址
- es.merge 不会合并我的流
- “收听”来自Capybara / Selenium - Rails的AJAX呼叫
- 如何在 Rails 的远程表单“disable_with”功能完成后执行 Javascript
- 在JS回调中接收来自rails 4.0的流