如何在Fluid URI ViewHelper

时间:2016-09-29 07:45:00

标签: javascript ajax fluid extbase typo3-6.2.x

我想用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);
}

我把...放在输出不相关的地方。

1 个答案:

答案 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);
}