-1
我有项目和用于搜索/整理这些项目的一些控制列表的页面。我希望这些控件能够使用Ajax进行动态工作,但我无法在Symfony中找到使用它的方法。如何在Symfony中使用Ajax?
在纯PHP,我有这样的收集的数据JS文件,然后将其发送到一个PHP文件,从而引发从类指定的方法。我如何在Symfony3中做类似的事情?我发现只有Symfony 1.x的教程。
我有项目和用于搜索/整理这些项目的一些控制列表的页面。我希望这些控件能够使用Ajax进行动态工作,但我无法在Symfony中找到使用它的方法。如何在Symfony中使用Ajax?
在纯PHP,我有这样的收集的数据JS文件,然后将其发送到一个PHP文件,从而引发从类指定的方法。我如何在Symfony3中做类似的事情?我发现只有Symfony 1.x的教程。
如果你是一个形式,你可以这样做:
$(document).submit(function() {
var url = $('form').attr('action');
var data = $('form').serialize();
$.post(url, data, function (data) {
window.location.href = data.redirect;
})
.fail(function() {
$('form').replaceWith(data.form);
});
});
你只需要发送正确的网址:
$(document).on('click', 'a', function() {
var url = window.location.href;
$.get(url, function (data) {
$('.container').replaceWith(data);
});
});
也可以使用路由发生器,只需在composer.json中添加:“friendsofsymfony/jsrouting-bundle”:“dev-master”即可。
AppKernel.php:
new FOS\JsRoutingBundle\FOSJsRoutingBundle()
然后在你的routing.yml配置吧:
fos_js_routing:
resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"
最后用 “揭露” ARG在你的路由:
@Route("/{table}/index", name="beta.index", options={"expose"=true})
我使用注释路由
在您的JS:
var url = Routing.generate('beta.index', { 'table': 'foo' });
希望它会帮助你:)
的可能的复制[如何Ajax和Symfony2的整合(http://stackoverflow.com/questions/13584591/how-to -integrate-AJAX与 - Symfony2的) –