FOSUser注册ajax的错误

时间:2014-09-09 09:06:27

标签: jquery symfony fosuserbundle

嗨,我有一个最奇怪的错误:我只是想通过AJAX调用来检查电子邮件是否已经完成。我得到的是FOS用户登录表单,而不仅仅是收到电子邮件的消息..

这是我的代码

jquery部分

$('body').on('click','.classicinput',  function(){ 


    var emailValue = $('#fos_user_registration_form_email').val();

    //POST ajax
    var DATA = 'email=' + emailValue;

    $.ajax({
        type: "POST",
        // Routing.generate = fosjsroutingbundle
        url: Routing.generate('e_veilleur_user_reigster_emailcheck'),
        data: DATA,
        cache: false,
        success: function(data){

                $(".ajaxResponse").html(data);
                 //alert(data);

            }
        });    
    return false;

    alert(emailValue); });

由jquery

调用的控制器部分
public function InviteEmailAction()
    {

        $em = $this->getDoctrine()->getManager();
        $email = $request->request->get('email');


        // si des données ont été envoyé 
        if($request->isXmlHttpRequest())
        {
            $router = $this->get('router');

            $repository = $this->getDoctrine()->getManager()->getRepository('EVeilleurUserBundle:User');
            $checkEmail = $repository->findOneByEmail($email);

            // 
            // if($checkEmail)
            // {
            //     $response= new Response("");
            // }
            // else
            // {
            //     $response= new Response("");                    
            // }


           // return $response;
        }
    }

首先我的控制器应该出错,因为它没有响应(我评论过它)。它没有

对于我发的每个ajax post post(POST localhost /.../ web / app_dev.php / user / register / emailcheck),我在firebug中有一个ajax get请求" GET localhost /.../网/ app_dev.php /登录&#34 ;. 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您的控制器可能位于防火墙后面,需要一些访问权限(角色)。

使用access_control中的security.yml并指定:

access_control:
    ....
    /path-to-email-check-controller: IS_AUTHENTICATED_ANONYMOUSLY
    ....

请务必将其放在任何类似规则之前(例如/login