【问题标题】:Symfony2 filtering results - problems with ajax requestSymfony2 过滤结果 - ajax 请求问题
【发布时间】:2016-10-13 12:11:29
【问题描述】:

我是 symfony2 的基本用户。我正在尝试在 Symfony2 中使用 jquery 执行过滤搜索结果功能:

1. 在 javascript 部分的 twig 视图中,我从输入中获取数据并将 ajax 请求发送到控制器 usung $.ajax()

2. 在控制器中,我从数据库中获取数据。我发出的最后一条指令return new jsonRespons(data)

3. 在最后一步中,我在 ajax 方法的成功函数中呈现数据。除了图像显示,一切都完美无缺。在数据库中,我存储图像名称。我尝试使用 下面的代码来破坏它:

     var zmienna='images/ksiazki/'+data[i]['source']+'.jpg' 
     <div class="book-image"><img src="{{asset(zmienna)}}" class="img-responsive"/></div>

它不起作用。请帮忙。也许我完成这项任务的方法是错误的?我应该如何在 Symfony2 中正确执行?是否可以将 ajax 结果数据不发送到 javascript 部分,而是发送到 twig 模板的主要部分?

提前致谢。

【问题讨论】:

    标签: javascript php jquery ajax symfony


    【解决方案1】:

    您想在服务器端 (twig) 上显示 JavaScript 变量,因此它永远不会工作。

    如果你想显示这个,那么在执行 ajax 调用后你需要创建 img 元素并将其添加到 book-image div

    使用 jquery,您可以执行以下操作。 ajax调用添加成功函数

    success: function (response) {
        for(var el in response) {
           var el = '<img src=" + ' el.src ' +" class="img-responsive"/>'
           $(".book-image").append(el);
        }
    }
    

    这是假设在您的 JSON 中有一组具有 src 属性的元素。像这样的:

    [
        {
            src: "path/to/image/image.jpg"
        },
        {
            src: "path/to/image/otherimage.jpg"
        }
    ]
    

    【讨论】:

    • 感谢您的回复。你是对的,但对我来说问题是在树枝模板中我必须使用 {{asset ()}} 函数来显示在 javascript 中不起作用的图像。我不能使用“正常”路径,例如 。但是也许我可以使用它?
    • {{asset() }} 将在执行 javascript 之前返回图像的完整路径,所以也许你不需要 javascript,只需使用 &lt;img src="images/ksiazki/{{ asset(zmienna) }}"&gt; 并在返回之后对它们做一些事情如果需要,在 JavaScript 中
    猜你喜欢
    • 2013-04-14
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多