2016-08-31 4 views
0

Ich habe bereits implementiert create, get (retrieve) mit django-rest-framework und AJAX.Wie kann ich löschen Objekt mit Ajax in Django implementieren?

Aber ich habe einige Probleme bei der Implementierung delete (Delete API ist fertig).

Hier ist meine Idee:

HTML:

<div class="comment-meta"> 
    <a id="comment-delete" href="/api/posts/notice/2/comments/4/delete/"> 
     삭제 
    </a> 
</div> 

JQuery:

var commentMetaElement = $(".comment-meta"); 
var commentDeleteElement = $(commentMetaElement).find("#comment-delete"); 
var commentDeleteURL = $(commentDeleteElement).attr('href'); 

$(commentDeleteElement).click(function(){ 
    alert($(this).attr('href')); 
    $.ajax({ 
     url: commentDeleteURL, 
     type: "DELETE", 
     success: function(data){ 
      alert("done!"); 
     }, 
     error: function(data){ 
      console.log(textStatus); 
     } 
    }); 
}); 

Und wenn ich auf die a-Tag, wird alert nicht auftreten.

Auch, wenn ich den Code alert(commentDeleteURL); nach , es zeigen: undefined.

Ich frage mich, ob ich es richtig implementiere.

Zunächst einmal, ich frage mich, es ist richtig a Tag erstellen zum Löschen ...

Thanks :)

+0

Sie müssen nicht kommentieren commentMe taElement' und 'commentDeleteElement' in' $ (..) '- sie sind bereits jQuery-Objekte. –

Antwort

0

Änderung dieser

$(commentDeleteElement).click(function(){ 

zu

$("#commmet-delete").click(function(){ 
+0

Ich habe den Code geändert, und klicken Sie auf die href, akzeptieren es 'Klick' als' GET' Methode, nicht 'DELETE' Methode, so zeigt es' "Methode \" GET \ "nicht erlaubt." ... – user3595632

+0

Haben Sie Verwenden Sie ein Plugin, um Ihre Delete API bereits zu testen? – Windsooon

0
$("#comment-delete").on('click', function(){ 
    var commentDeleteURL = $(this).attr("href"); 

     $.ajax({ 
     url: commentDeleteURL, 
     type: "DELETE", 
     success: function(data){ 
      alert("done!"); 
     }, 
     error: function(data){ 
      console.log(textStatus); 
     } 
     }); 
}); 
+0

Ich habe den Code geändert, und klicken Sie auf die href, akzeptieren es 'Klick' als' GET' Methode, nicht 'DELETE' Methode, so zeigt es' "Methode \" GET \ "nicht erlaubt." ... – user3595632

Verwandte Themen