4

我想将 ESI 包含或评估块的结果存储在 ESI 变量中。包含的内容不在我的控制范围内。它的格式是 JSON。我尝试了以下所有方法均无济于事。该变量以空字符串结束。

<esi:assign name="variable_name">
'<esi:include src="$(url)" method="post" entity="$(param)" />'
</esi:assign>
<esi:assign name="variable_name">
'<esi:eval src="$(url)" method="post" entity="$(param)" />'
</esi:assign>

<esi:assign name="variable_name">
'''<esi:include src="$(url)" method="post" entity="$(param)" />'''
</esi:assign>
<esi:assign name="variable_name">
'''<esi:eval src="$(url)" method="post" entity="$(param)" />'''
</esi:assign>

我正在测试的 ESI 服务器是 Akamai 的 ETS。

4

1 回答 1

4

这是 Akamai 支持团队提供的解决方案。相当复杂,但效果很好。


文件:json.txt

{ "a" : 1, "b" : 2 }

文件:frag.esi

<esi:text><esi:assign name="val">'''</esi:text><esi:include
src="json.txt"/><esi:text>'''</esi:assign></esi:text>

文件:container.esi

<esi:eval src="frag.esi" dca="esi" />

<esi:vars>
val = $(val)
</esi:vars>
于 2012-08-15T20:32:08.717 回答