我通过$ .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" }
答案 0 :(得分:0)
你有3个解决方案:
1)通过行动
返回路线//动作:
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替换网址(有效的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 cookbook之一中使用的技术(在页面中用ctrl + f搜索“替换”)。
选择您最喜欢的解决方案!