2014-09-02 16 views
0

:auto-reload? true环通过它的内部wrap-reload中间件注入自动刷新<script>标记时,只要您返回状态完整的HTML页面。但是,发生错误时不包括此自动刷新脚本。因此,我必须手动刷新页面。错误屏幕的Clojure环自动刷新脚本

我该如何告诉Ring将自动刷新脚本插入错误屏幕?

这是我project.clj

:ring {:handler my-app.handler/app 
     :auto-reload? true 
     :auto-refresh? true} 

回答

0

由于自动刷新加入到成功的响应,可能它需要也被添加到错误响应。您可以添加一个自定义错误响应,该响应返回一个主体包含自动刷新脚本的500错误。

+0

我不熟悉Ring的内部。你能为我指出正确的方向吗?是否有包含脚本的fn?我如何重写错误响应? – 2014-09-02 19:14:39

+0

在这个答案中有一个很好的例子:http://stackoverflow.com/questions/12627410/idiomatic-way-to-catch-exceptions-in-ring-apps在:body中,你会把页面内容触发重定向 – 2014-09-02 19:46:43