1
저는 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)
}
대부분의 경우 작동합니다. 실제로는 오래 지속되는 계산이 있기 때문에 "서버가 응답 할 수 없습니다"라는 메시지가 나타납니다 (오류 메시지없이 리디렉션되지 않는 경우도 있음).
LiftRules.ajaxPostTimeout = Int.MaxValue
그러나 심지어 그것은 여전히 리디렉션 아니에요 이상 :
나는 아약스 시간 제한을 다시 구성했습니다.는 또한 계산에서 리디렉션 부분을 분리하고 같은 것을 할 수있는 :
{val func = ajaxInvoke({() => JsCmds.RedirectTo("/result/"+uniqueId)})._2.cmd
Script(OnLoad(func))}
을하지만 다시 쓰게에서 작동하며뿐만 아니라 전체 페이지를 다시로드에 뭔가의 OnLoad를 교체해야합니다. 또는 어쩌면 내 페이지가 클라이언트 iteraction없이 다시로드되도록 강제 할 수 있습니다.
죄송합니다, 'm'은 밀리 초 또는 몇 분입니까? – falcon
프로그래밍에 수분 만에 뭔가가 있었습니까? 5000 분이 어떤 의미가 있습니까 ??? ??? 밀리 초 – Erik255