2017-07-23 4 views
-2

Ich habe den folgenden Ajax Anruf auf click(), Der Datensatz löscht aus der Datenbanktabelle, aber der Ajax-Fehler Abschnitt Code ausgeführt wird, nicht der Abschnitt Erfolg. Auch muß ich einen Fehler von 405 erhalten,Ajax geht immer in Fehler Abschnitt

Error Message

Aber die Aufzeichnungen bekommen löschen, Nach dem Code ist.

$(".DeleteUser").click(function(){ 
    var id = $(this).data("id"); 
    var token = $(this).data("token"); 
    $.ajax(
    { 
     url: "users/"+id, 
     type: 'DELETE', 
     dataType: "text", 
     data: { 
      "id": id, 
      "_method": 'DELETE', 
      "_token": token, 
     }, 
     success: function() 
     { 
      console.log("it Work"); 
     }, 
     error: function() { 
      alert('fail'); 
     } 
    }); 

    console.log("It failed"); 
}); 

Server Side-Code:

public function destroy($id) { 
    $user = $this->find($id); 
    $user->delete(); 
    $notification = array(
     'message' => 'User has been Deleted !', 
     'alert-type' => 'success', 
    ); 
    return redirect()->route('users.index'); 
} 
+2

HTTP 405 bedeutet, dass Server die Ausführung des Codes nicht zulässt.Wie das Löschen des Datensatzes ist möglich –

+5

Serverprotokolle überprüfen. Der Fehler wird aufgerufen, weil Ihr Server einen Fehler mit Statuscode meldet 405 – pethel

+0

Können Sie das serverseitige Skript angeben, das die Löschanforderung empfängt und die Prozesse ausführt? Wenn die DB-Abfrage erfolgreich ausgeführt wird, bedeutet dies, dass einige andere Funktionen dazu führen, dass der Server den Fehler 405 zurückgibt. –

Antwort

0

Sie haben 'Typ: "DELETE"' verwendet. Stattdessen sollten Sie USE 'type: "post"' verwenden. Sie können auch 'get'

+0

funktioniert nicht ...... – Gammer

0

verwenden Sie beenden Ihre Antwort nicht.Aber umleiten zu einer anderen Seite.

Diese Umleitung überspringen und den Anfrage-Antwort-Zyklus beenden.

public function destroy($id) { 
    $user = $this->find($id); 
    $user->delete(); 
    $notification = array(
     'message' => 'User has been Deleted !', 
     'alert-type' => 'success', 
    ); 
    //return redirect()->route('users.index'); //skip it 
    header('Content-Type: application/json'); 
    echo json_encode($notification); 
}