You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hunchentoot的easy-routes中返回多值至DOM?

解决easy-routes路由返回多值仅显示一个的问题

问题核心在于HTTP响应只能包含一个主体内容,easy-routes会将路由函数返回的第一个值作为响应主体,后续的多值会被当作HTTP状态码、响应头这类元数据处理,不会被渲染到DOM中。要让两个返回值都显示,你需要把它们合并成一个单独的响应内容,以下是具体方案:

方案1:拼接字符串返回

直接将两个值合并为一个字符串,用分隔符或换行区分:

(easy-routes:defroute test-file ("/test-file" :method :get) (&get filename)
  (multiple-value-bind (a b) (quick-test filename)
    (format nil "第一个结果:~a~%第二个结果:~a" a b)))

方案2:返回结构化HTML

如果需要更美观的展示效果,可以返回一段HTML代码,用标签将两个值分开:

(easy-routes:defroute test-file ("/test-file" :method :get) (&get filename)
  (multiple-value-bind (a b) (quick-test filename)
    (format nil "<div><h3>返回结果</h3><p>结果1:~a</p><p>结果2:~a</p></div>" a b)))

通过以上方式,服务器会返回包含两个值的单一响应主体,浏览器就能在DOM中完整显示所有内容了。

内容的提问来源于stack exchange,提问作者Vinn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 09:50:35