2017-08-26 5 views
1

Ich versuche, einen Passwort-Reset-Link über AJAX zu senden. Ich habe die sendResetLinkEmail Methode in meinem den folgenden außer Kraft gesetzt:Überschreiben sendResetLinkEmail gibt nichts zurück

public function sendResetLinkEmail() 
{ 
    $this->validate(request(), ['email' => 'required|email|exists:users']); 

    $response = $this->broker()->sendResetLink(
     request()->only('email') 
    ); 

    echo 'test'; 
} 

Die Validierung funktioniert perfekt und ich habe eine responseJSON zurück, wenn es Fehler sind zum Beispiel ungültige E-Mail, nicht vorhandene E-Mail. Mein Problem ist, dass ich keine Antwort zurückbekomme, wenn keine Validierungsfehler vorliegen. Nicht test, überhaupt nichts.

Wenn ich entfernen die folgenden I eine Antwort von test zurück erhalten tun:

$response = $this->broker()->sendResetLink(
    request()->only('email') 
); 

Es macht keinen Sinn.

Antwort

0

Sie sollten versuchen, dies kann seine Hilfe für Sie sein !!!

0

Das Problem war, dass es nicht mit dem SMTP-Server verbinden konnte, so dass es hängen blieb.

Hier ist der Arbeitscode:

public function sendResetLinkEmail() 
{ 
    $this->validateEmail(request()); 

    $response = $this->broker()->sendResetLink(
     request()->only('email') 
    ); 

    if ($response == Password::RESET_LINK_SENT) { 
     return response()->json([ 
      'alert' => true, 
      'alert_message' => 'Password reset link emailed!', 
     ]); 
    } 
    else { 
     return response()->json(['email' => trans($response)], 422); 
    } 
} 

ich data.hasOwnProperty('alert') in meinem jQuery-Code verwenden, um festzustellen, ob eine Warnung auf success AJAX Antwort angezeigt werden soll.