2017-09-06 2 views
0

날씨 이메일이 있는지 확인하거나 비밀번호 재설정 링크를 보내지 않으려 고합니다. ajax 함수를 사용하고 있지만 Ajax를 실행하기 전에 500 내부 서버 오류가 표시됩니다. 500은 토큰 미스 매치 오류 용이지만 기존 이메일을 확인하기 위해 토큰이 필요합니까? 하지만 폼 태그 토큰이 자동으로 생성 된 다음 {{csrf_field()}}를 사용하고 있다고 생각합니다. 하지만 동일한 오류 500 내부 서버가 표시됩니다. 그냥이 문제를 해결할 수있는 방법을 도와 수동으로 토큰을 생성해야합니다.Laravel 5.2 잊어 버린 모달 팝업 비밀번호 500 내부 서버 표시 Ajax 기능 실행 중 오류

조회수 : login.blade.php

{!! Form::open(array('url' => '/auth/login', 'class' => 'form- login')) !!} 
    <div class="form-title"> <span class="form-title">Login</span> </div> 
    <div class="form-group"> 
     <label class="control-label visible-ie8 visible-ie9">Username</label> 
     <input class="form-control form-control-solid placeholder-no-fix required" type="text" autocomplete="off" placeholder="Email" name="email" /> 
     </div> 

     <div class="form-group"> 
     <label class="control-label visible-ie8 visible-ie9">Password</label> 
     <input class="form-control form-control-solid placeholder-no-fix passwordclass required" type="password" autocomplete="off" placeholder="Password" name="password" /> 
     </div> 

    <div class="form-actions"> 
     <button type="submit" class="btn red btn-block uppercase clicklogin" style="background-color:#d5ed31 !important;border-radius:4px !important;border:1px solid #ddd;">Login</button> 
    </div> 


    <div class="form-actions"> 
     <div class="pull-left"> 
     <label class="rememberme mt-checkbox mt-checkbox-outline"> 
     <input type="checkbox" name="remember" value="1" /> 
      Remember me <span></span> </label> 
     </div> 

    <div class="pull-right forget-password-block"> <a class="btn-link" data-target="#modalforget" data-toggle="modal">Forgot Password? </a></div> 
    </div> 

    {!! Form::close() !!} 

    <!-- END LOGIN FORM --> 






    <!-- BEGIN FORGOT PASSWORD FORM--> 
    {!! Form::open(array('url'=>'password/reset','class' => 'form-horizontal create_forget_form','method'=>'POST', 'id' =>'forgetdata', 'files' => true)) !!} 

    {{ csrf_field() }} 


    <div class="modal fade" id="modalforget" tabindex="-1" data-width="760px" > 
    <div class="modal-dialog" style="width:760px !important;"> 
    <div class="modal-content" style="background-color:#26344b;padding:20px;border-radius:12px !important;"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button> 
      <div class="form-title"> <span class="form-title">Forget Password</span> </div> 
     </div> 
     <div class="modal-body" style="height:auto !important;"> 
      <div class="row"> 
      <div class="col-md-12"> 
       <div class="form-group"> 
        <strong style="color: #ffffec; font-size: large; ">&nbsp; &nbsp; &nbsp; &nbsp; Please enter your email. A password reset link will be sent to this email.</strong> 
        </div> 
       </div> 
      </div> 
      <div class="row"></div> 
      <div class="row"> 
      <div class="col-md-10"> 
       <div class="form-group"> 
       <div class="col-md-2"></div> 
       <div class="col-md-10"> 
       <input class="form-control required" type="email" autocomplete="off" placeholder="Email" id="forget_email" name="forget_email"style="font-size: large;" /> 
         <span class="my-error-class" id="email_status"></span> 
       </div> 
       </div> 
      </div> 
      </div> 
     <div class="modal-footer"> 
      <button type="button" value="Submit" id="submitButton" class="btn green">Submit</button> 
      <button type="button" value="Cancel" class="btn default red" data-dismiss="modal">Cancel</button> 
      <button type="reset" value="Clear" class="btn blue">Clear</button> 
     </div> 
     </div> 
     </div> 
     </div> 
    </div> 
</form> 
login.blade.php에서

아약스 기능

<script type="text/javascript"> 
$('#submitButton').click(function(){ 
    var formdata=new FormData($(this)[0]); 
    $.ajax({ 
     url:"{{ URL::to('password/reset') }}", 
     type: 'POST', 
     data: formdata, 
     async: false, 
     cache: false, 
     contentType: false, 
     processData: false, 
     context:this, 
     dataType: "json", 
     success: function (returndata) 
     { 
       if(returndata == 0) 
      { 
       $('#email_status').html('This Email does not Exists'); 
       return false; 

      } 
      else 
      { 
       $('#email_status').html(""); 
       return false; 
      } 
     }, 
     error: function(data) 
     { 
      console.log(data); 
     } 
    }); 
}); 
</script> 

경로 파일 :

Route::group(['middleware' => 'auth'], function() 
{ 
    Route::post('password/reset','Auth\[email protected]'); 
} 

컨트롤러 인증 \ AuthController @ r esetPassword :

public function resetPassword() 
    { 
    $email =Input::get('forget_email'); 
    $user_email = DB::table('users')->where('email', $email)->whereNull('deleted_at')->first(); 
    if($user_email) 
    { 
     return '1'; 
    } 
    else 
    { 
     return '0'; 
    } 

} 

Screen Shot Of Error

답변

1

난 당신이 auth 그룹 외부 경로를 작성해야합니다 생각합니다.

Route::post('password/reset','Auth\AuthControlle[email protected]'); 
+0

동일한 오류가 발생했습니다. – ratnesh

+0

@ratnesh, 함수 이름을 낙타의 경우로 변경하십시오. 'Resetpassword'를 선택하고 경로에서도 변경하십시오. 이것은 문제 일 수 있습니다. –

+0

그것이 @ratnesh의 문제였습니까? –

0

문제는 당신 같은 요청으로 csrf-token을 통과 ajax으로 모든 POST 요청에 대한 POST 요청을 당신이 사용됩니다 : 당신의 아약스 코드에 넣고

headers: { 
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
}, 

모든 것이 될 것입니다 벌금. csrf-token 검사에서 여기에 정의

protected $except = [ 
    // route list here 
]; 

모든 경로 제외한다

아니면 CSRF 검증에서 특정 URI를 제외 할 경우, project/app/Http/Middleware로 이동이있는 경로 목록을 넣어하는 파일 VerifyCsrfToken.php있다 .

+0

Actully 스크립트 태그 $ .ajaxSetup ({ 헤더 : { 'X-CSRF-TOKEN': $ ('meta [name = "csrf-token"]')에서 이미 위에 작성했습니다. attr ('content') } }); – ratnesh

+0

정확한 오류 메시지를 게시 하시겠습니까? –

+0

POST http : // localhost/selfcomply/public/password/reset 422 (Unprocessable Entity) – ratnesh