0

我通过 $.ajax 从数据库中获取数据。但是我怎样才能创建一个链接?

这是我的 ajax 调用,结果有效:

var $resultDepartment = $( '#resultDepartment' );
        $.ajax({
            type: "post",
            url: url2,
            data: "locationid=" + locationid,
            dataType: "json",
            success: function (resp) {
                for (var i = 0; i < resp.length; i++) {
                    var $link = "{{ path('_niederlassung', {filiale: resp[i].bezeichnung}) }}";
                    console.log($link);
                    $resultDepartment.html("Your Department:<br><br>" + resp[i].bezeichnung) + "<br><br><a href='" + $link + "'>weiter zur Filiale</a>";
                }
            }
        });

当我将 {{ path('_niederlassung', {filiale: 'exampledepartment'}) }} 放入树枝时,它会变得完美并且工作完美。

下面我给大家介绍一下路线:

_niederlassung:
path:  /niederlassung/{filiale}
defaults: { _controller:  MbsNiederlassungBundle:Default:index, filiale: "all" }
4

1 回答 1

0

您有 3 个解决方案:

1)通过action返回路由

// 行动 :

return new Response(json_encode(array(
    // here what you want ...
    'link' => $this->generateUrl('_niederlassung', array('filiale' => resp->getBezeichnung())),
)));

// JS回调

for (var i = 0; i < resp.length; i++) {
    var $link = resp[i].link // Get the link with ease
}

2) 使用 FOSJsRoutingBundle

在 JS 中生成 URL 的包:https ://github.com/FriendsOfSymfony/FOSJsRoutingBundle

3)用JS替换Url(有效的HTML)

制作一个 div(或另一个 html 元素),其中包含一些要传递给 JS 的参数:

<div id="js_config"
    data-filiale-url-prototype="{{ path('_niederlassung', {filiale: 'prototype'}) }}"
>
</div>

// 你的 JS 回调:

// ...

var urlPrototype = $('#js_config').attr('data-filiale-url-prototype');

for (var i = 0; i < resp.length; i++) {
    // ...
    var $link = urlPrototype.replace(/prototype/g, resp[i].bezeichnung);
}

这是一本 Sf2食谱中使用的技术(在页面中用 ctrl + f 搜索“替换”)。

选择您最喜欢的解决方案!

于 2013-07-30T07:42:28.580 回答