我想用Fluid模板调用Ajax,我想使用Fluid URI action ViewHelper。问题是,其中一个参数是从Javascript变量动态生成的。我怎样才能实现ViewHelper由Fluid渲染,Javascript变量的内容是否在运行时插入?
这是我的代码(简化):
function test(field) {
xmlhttp.open("GET", '<f:uri.action action="ajax" arguments="{filterfield:' + field + '}" />', true);
}
目前Fluid的渲染输出为:
function test(field) {
xmlhttp.open("GET",'mod.php?...&tx_test_test_testview%5Bfilterfield%5D=%20%2B%20field%20%2B%20...', true);
}
但我想要实现的目标:
function test(field) {
xmlhttp.open("GET",'mod.php?...&tx_test_test_testview%5Bfilterfield%5D=' + field + '...', true);
}
我把...
放在输出不相关的地方。
答案 0 :(得分:1)
我认为你不能用流体完全达到你想要的效果,因为f:uri viewhelpers最终通过了typolink方法,它使用了urlencode函数。也许最好传递一些独特的字符串并用JS替换它?例如:
function test(field) {
xmlhttp.open("GET", '<f:uri.action action="ajax" arguments="{filterfield: '___FIELD___'}" />'.replace('___FIELD___', field), true);
}