我会在这里把这个留给熏陶,但我的朋友告诉我,他们会否认我,如果我滥用这样一个cookie。所以我改变了我的执行方式,不能失去任何朋友。他们告诉我要专注于快速转向ajax呼叫。我仍然需要知道对象何时完成了渲染,因此我只是在部分中添加了隐藏元素,并将其大小设置为零,并等待直到部分渲染将高度从零更改为止。虽然我打算使用会话ID避免串扰,但看到与网页打开的两个选项卡的交互很有趣。
好吧,我决定,为了我的目的,最好的方法是将数据放入cookie中,并检测cookie何时更改。这使我可以在send_data命令结尾处更改cookie,并获取图像位置相对于其他图像的数据,以及检测send_data何时完成,以便我可以将图像滑动到位(通过动画等待图像)。
它看起来像这样的服务器
send_data(image.to_blob { self.format = 'png' },
type: 'image/png',
disposition: 'inline')
cookies[:duck_data] = { :value => $cookie_data.to_json}
上,这在客户端
wait_for_paint=->
if $.cookie('duck_data') == 'keep waiting'
setTimeout (->wait_for_paint()), 250
else
my_data= $.parseJSON($.cookie('duck_data'))
do_ajax_response(my_data)
好吧,我试图 $( “#magic_box”)HTML('<%= escape_javascript (渲染部分:“magicacts/magic_box”)%>'); areply = <%= escape_javascript(@ my_params.to_json)%>; – bobbdelsol
做些简单的事情,我加了areply = 3;我得到了一个成功的回应,并在响应中查看数据,但无法引用它。 – bobbdelsol