FOSUser注册ajax的错误



嗨,我有一个最奇怪的错误:我只是想通过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 localhost/…/web/app_dev.php/user/register/emailcheck),我都会在firebug"get localhost/…/web/app-dev.php/login"中收到一个ajax get请求。有什么想法吗?

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

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

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

请确保将其放在任何类似规则(例如/login

之前

最新更新