【发布时间】:2020-05-11 11:08:54
【问题描述】:
我在使用 ajax 调用我的一个控制器操作时遇到了问题。 在响应部分,我正在构建一个“html 对象”,其中包含指向所需操作的链接,然后使用 .html( html_object) 将其放入 dom 中。
const uid = item.uid; //simple int value
html_object= '' +
... +
'<f:link.action controller="FrontendVideo" action="show" arguments="{videoUid :'+uid.toString()+'}">'
+ ...
现在我正在尝试将 uid 传递给该字符串,但 Typo3 将 +uid.toString 解释为字符串(稍后在 dom 中我看到该值为 uid.toString()),因此我得到了验证错误。这种行为非常奇怪和出乎意料。我尝试了各种方法(也没有 toString(),因为它不是必需的)但是 Typo3 确实将传递的变量简单地解释为字符串。
如果我硬编码里面的值,当然一切正常。
html_object= '' +
... +
'<f:link.action controller="FrontendVideo" action="show" arguments="{videoUid :123}">'
+ ...
有什么解决办法吗? 提前谢谢你。
【问题讨论】:
-
uid 定义在哪里?你能显示更多代码吗?
-
@tire0011:uid 只是一个 int 值。我将它添加到代码 sn-p 中。
-
当你尝试什么时.. const viedeoUid = uid.toString();并在字符串参数="{videoUid :'+viedeoUid +'}"
-
不幸的是不起作用..问题与流体代码的解释方式有关。
-
当你只设置 html_object= '
' ;没有其他部分,结果一样吗?
标签: javascript typo3 fluid