1
我使用ajax +彗星来构建迭代表单。当它被submited时,输出文件被下载。如何避免电梯上的ajax超时?
def render = ajaxForm(bind("form",/*...*/
"submit" -> ajaxSubmit("Calculate",result _)))++hidden(result _)
private def result : JsCmd = {
/* Some really time-consuming calculations */
JsCmds.RedirectTo("/result/"+uniqueId)
}
它适用于大多数情况。虽然有一些真正持久的计算,但我得到了“服务器无法响应”的消息(有时它只是不重定向而没有错误消息)。
我试图重新配置AJAX超时:
LiftRules.ajaxPostTimeout = Int.MaxValue
但比它仍然不是重定向。
我也可以去耦重定向部分离了算了,做类似:
{val func = ajaxInvoke({() => JsCmds.RedirectTo("/result/"+uniqueId)})._2.cmd
Script(OnLoad(func))}
但我需要更换的OnLoad的东西,这对重新呈现的作品,而不是只在重新加载整个页面。或者,也许强迫我的页面重新加载,而无需客户端迭代。
对不起, 'm' 是毫秒或分钟? – falcon 2014-08-06 16:29:04