2016-06-19 1 views
-2

사용자로부터 주석을 삭제하려고하는데 CRUD가 작동하지 않는 이유를 파악하는 데 문제가 있습니다. 내 console.log ("ID", commentId)가 정의되지 않은 ID를 반환하기 때문에 $ (this) .parent(). data ('id')가 거의 긍정적입니다.기본 CRUD 응용 프로그램에서 삭제가 작동하지 않습니다.

  // Delete Comment From a Meme 
      $('.deletebutton').on('click', function(element) { 
       event.preventDefault(); 
       var commentId = $(this).parent().data('id'); ////id needs to point to id of comment 
       console.log("ID", commentId) 
       window.glob = $(this); 
       $(this).parent().remove(); 
       doYouLikeMeme.deletePost(commentId); 
      }); 

     deletePost: function(commentId) { 
      var DeletePost = doYouLikeMeme.url + "/" + commentId; 
      $.ajax({ 
       url: DeletePost, 
       method: "DELETE", 
       success: function(data) { 
        console.log("WE DELETED SOMETHING", data); 
        doYouLikeMeme.getPost(); 

       }, 
       error: function(err) { 
        console.error("ugh", err); 
       } 
      }) 
     }, 


    }; 
+0

어떤 부분이 작동하지 않습니까? 콘솔 로그 메시지가 보이십니까? 오류 메시지가 나타 납니까? 게시물을 삭제하는 백엔드 코드는 어디에 있습니까? – JJJ

+0

@Juhana 저는 $ (this) .parent(). data ('id')가 거의 긍정적입니다. 내 console.log에서 commentID가 정의되지 않은 상태로 되돌아옵니다. 더 많은 컨텍스트를 제공하기 위해 "x"로 표시된 태그와 함께 페이지에 li를 추가합니다. $ ('deletebutton.')에 ('클릭'기능 (요소) { 에서는 event.preventDefault();.. VAR commentId = $ (이) .parent() 데이터 ("ID"); 콘솔 .log ("ID", commentId) window.glob = $ (this); $ (this) .parent(); – codegrobg

+1

예, 해당 코드는 이미 질문에 포함되어 있습니다. * 프론트 엔드 * 코드입니다. * 백엔드 코드는 어디에 있습니까? 함수가 호출 될 때 콘솔 로그 메시지 중 표시되는 것은 무엇입니까? – JJJ

답변

0

당신의 부모 요소의 HTML이 같은 id 속성이 포함되어있는 경우 : 당신의 부모 요소의 HTML이 data-id="something" 같은 데이터 속성은 다음 .DATA를 사용하여 포함 된 경우 id="something"을,이

$(this).parent().attr('id'); 

시도 ('ID') 코드에서 수행 한대로.

+0

이것은 주석이어야합니다 : id는 관련 html에 어떻게 저장됩니까? * 그렇지 않으면 이것은 단지 추측입니다. –

+0

옵션을 제공하도록 업데이트했습니다. – grateful

관련 문제