我正在使用gmap自动完成功能,有时用户在建议列表中没有任何选择.例如,他在输入字段中键入"Paris"并认为搜索将使用Paris执行,但是从未调用过gmap autcomplete的"place_changed",搜索无法执行.当用户没有做出任何选择时,如何默认选择建议列表的第一选择?我相信我可以调整为此处描述的"输入问题"提供的解决方案(谷歌地图Places API V3自动完成 - 在输入时选择第一个选项)与模糊事件处理,但这不起作用.
任何提示?
在持久化实体之前,我需要在我的数据库的另一个表中复制和格式化一些数据.我希望此任务作为服务执行.所以我在config.yml中描述了这个服务
services:
my_service:
class: Acme\Bundle\AcmeBundle\DependencyInjections\MyService
arguments:
entityManager: "@doctrine.orm.entity_manager"
Run Code Online (Sandbox Code Playgroud)
我想知道拨打这项服务的最佳方式.我能弄清楚的唯一方法是来自控制器:
$entity = new Entity($this->get('my_service'));
Run Code Online (Sandbox Code Playgroud)
这是最好的方法吗?
我想在AccessDeniedException的情况下自定义Symfony2的行为.如果引发异常的HTTP请求是XMLHTTPRequest,那么我使用JSON回复,否则我会在登录页面中生成302.
这是我的实施.该日志显示在AccessDeniedException之后永远不会调用AccessDeneidHandler.我错过了什么?
#security.yml
firewalls:
secured_area:
access_denied_handler: kernel.listener.access_denied.handler
Run Code Online (Sandbox Code Playgroud)
#config.yml
kernel.listener.access_denied.handler:
class: NoaLisa\Bundle\OVMBundle\DependencyInjection\AccessDeniedHandler
tags:
- { name: kernel.event_listener, event: security.kernel_response, method: handle}
Run Code Online (Sandbox Code Playgroud)
#AccessDeniedHandler
class AccessDeniedHandler implements AccessDeniedHandlerInterface{
function handle(Request $request, AccessDeniedException $accessDeniedException){
if ($request->isXmlHttpRequest()) {
$response = new Response(json_encode(array('status' => 'protected')));
return $response;
}
else {
return new RedirectResponse($this->router->generate('login'));
}
}
}
Run Code Online (Sandbox Code Playgroud)