javascript – 从json数组设置twig变量

由于twig在任何
javascript之前呈现,我遇到了一个小问题.

我需要在我从JSON数组接收的twig中设置一个变量,但是我遇到了一些问题,我觉得这应该很简单.

数据通过json数组通过symfony输入twig,并根据数组中的一个元素呈现不同的消息;这部分没有问题.

我能够将输出打印到twig文件;工作正常.问题是我很难将其设置为树枝变量,以便我可以在几个地方使用它.

这很好用:

$( ‘ID’)的HTML(项[0] .ID);

并正确打印到树枝上:

< div class =“id”>< / div>

我试着这样做:

{% set requestid = '<div class="id"></div>' %}
{{ requestid }}

但正如预期的那样,这只会使HTML没有价值.

我一直试图做这样的事情:

在树枝上我有这个:

{% set requestid = "request_holder" %}
{{ requestid }}

在jquery我有这样的事情:

var reqid = items[0].id;
reqid.replace("request_holder",reqid);

我也尝试过这样的事情

var request_id = items[0].id;
window.location = request_id.replace("request_holder",request_id)

我觉得我错过了一小块.

**编辑清晰**

JQuery数组正在解析JSON数组.

我有items [0] .id的值

在这里进一步编辑 – 清楚地表明我感到困惑:清理一点以免将未来的读者送到错误的道路上

我相信[d]变量需要在javascript中分配,因为twig是php,它是在javascript之前生成的.

我一直试图在javascript中生成树枝无济于事.

这是我一直在尝试的:

var requestitem = items[0].id;
$('.id').html("{% set requestId = " + requestitem + " %} <br/> {{ requestId }}");

这将requestId定义为字符串,并仅将requestitem返回到页面上.

当我尝试这个(没有引号)

var requestitem = items[0].id;
$('.id').html("{% set requestId = requestitem %} <br/> {{ requestId }}");

树枝根本不识别请求项目

我试图引用小枝括号(例如“{”“%”等),但这当然只将它们打印到页面上并且不解释它们.

最佳答案 服务器端的Twig进程.它需要变量并将它们呈现为HTML和文本.浏览器中显示的内容只是HTML / text /和Javascript.所以你的set requestid =“request_holder”和{{requestid}}只是在他们到达浏览器之前就转向了文本.

之后,您可以在前端使用Javascript可以与之交互的HTML和文本.如果您需要在前端更改此ID,则需要在Javascript中完成.

你用id做什么?

点赞