2017-07-18 5 views
2

Ich mag Ajax verwenden, um in die Datenbank einzufügen und wieder zurück zu zeigen. Ich habe Ajax ähnlicheLaravel Middleware funktioniert nicht in AJAX-Anfrage URL

$.ajax({ 
method: 'POST', 
url: "{{ route('comments.store') }}", 
data: { 
comment: 1, 
comment_text: comment_text, 
post_id: post_id, 
"_token": "{{ csrf_token() }}" 
}); 

und in URL-Route ('comments.store) ist von Middleware-Schutz (' Auth ') in meinem Controller

public function __construct() 
{ 
    $this->middleware('auth')->except(['index']); 
} 

public function store(Request $request) { 
    if(Auth::check()){ 
     if (isset($request->comment)) { 
     $comment = new Comment([ 
     'comment' => $request->comment_text, 
     'user_id' => Auth::id(), 
     'post_id' => $request->post_id 
     ]); 
     $comment->save(); 
     $comments = Comment::find($comment->id); 
    return response($comments); 
    } 
} 
return redirect()->route('home.post.show', $request->post_id); 
} 

, wenn der Benutzer angemeldet ist, es funktionierte Normal und Antwort $ Kommentarzeile.

aber wenn Benutzer nicht protokolliert wird, leitet die Middleware den Benutzer nicht zur Protokollseite um, und der Antwortfehler ist "nicht authentifiziert".

wie Sie es beheben müssen Hilfe. Dank Sie ..

+1

was ist Ihre Middleware-Code –

+2

Es ist Ajax-Anforderung zu umleiten. Welche nicht automatisch zu irgendeiner Seite umgeleitet werden. Sie müssen die Bedingung im Erfolg überprüfen und dann mit 'window.location' umleiten –

Antwort

0

eine error Callback-Funktion auf Ihre jQuery Ajax Fügen Sie den Benutzer auf die Login-Seite, wenn unberechtigte

$.ajax({ 
    method: 'POST', 
    url: "{{ route('comments.store') }}", 
    data: { 
     comment: 1, 
     comment_text: comment_text, 
     post_id: post_id, 
     "_token": "{{ csrf_token() }}" 
    }, 
    success: function (data) { 

    }, 
    error : function (jqXHR, textStatus, errorThrown) { 
     // User Not Logged In 
     // 401 Unauthorized Response 
     window.location.href = ' login page'; 
    } 
}); 
Verwandte Themen