我是Symfony的初学者(版本2),我有一个用普通的基本
PHP实现的项目,现在我正在重做处理Symfony框架的页面,并且到达我的jquery ajax函数,当然,事情会有所不同,
我曾经这样做过:
我曾经这样做过:
$("#div").click(function(){ $.post("targetFile.PHP",{/*parameters*/,function(data){ }); });
问:如何使它适用于Symfony?
放什么而不是targetFile.PHP?最有可能的路线.
以及在控制器和路由器方面做些什么?
我在谷歌和这里看了一眼,但没有得到任何明确的答案.
问候.
解决方法
如果你在routing.yml里面设置了这个:
_admin_ajax: resource: "@SomethingAdminBundle/Controller/AjaxController.PHP" type: annotation prefix: /admin/ajax
…并且内部控制器tha将处理ajax调用:
/** * @Route("/ajaxhandler",name="_admin_ajax_handler") */ public function handlerAction() { $isAjax = $this->get('Request')->isXMLHttpRequest(); if ($isAjax) { //... return new Response('This is ajax response'); } return new Response('This is not ajax!',400); }
…然后在内部例如TWIG模板,您应该像这样调用它:
$("#div").click(function(){ $.post("{{ url('_admin_items_add') }}",function(data){ }); });
……并且将使用模板引擎生成您的操作的真实路线.