본문 바로가기
웹퍼블리싱/JavaScript

ajax 실행 후 스크립트 실행하기

by developsigner 2019. 11. 18.
 

$('#review_list').ajaxSuccess(function() {   //#review_list의 ajax전송이 성공하면
        
          
     $('#review_list').each(function() {  //#review_list의 키워드 변경
            
        var text = $(this).html();
        $(this).html(text.replace(/바꿀단어/gi, '****'));  

      });

});               
        

우선 나는 이걸 왜 쓰게 되었냐하면, 쇼핑몰에서 일하다보면 가끔 특정 단어를 필터링 하라고 권고가 내려올때가 있다.

리뷰는 수천개가 있는데 하나하나 *로 바꿀수 없으니 스크립트 코드로 쓸 수 밖에 없었다

그냥 페이지 문서 자체에 바꿀 단어가 있으면 replace 만 간단히 쓰면 끝날 일인데.. 보통 리뷰는 상세페이지 하단에 비동기식 ajax 로 페이징되어 있다..

웹디로 일하고 있는 난 ajax는 거의 접한적이 없어서.. 무작정 일단 window onload 로 (ajax까지 다 로딩시킨다음) 정규표현식 replace를 썼는데.. 처음 1페이지는 작동이 잘됐다. 문제는 그 다음 2페이지를 눌러서 다시 ajax가 실행될때는 안먹힌다는거.. 1페이지를 다시 눌러도 안먹힘..

그래서 생각한게 페이지 번호를 누를때마다 스크립트가 실행되게 하려고 a태그(페이징번호)에 이벤트를 걸었더니 이벤트가 먼저 실행되고 ajax가 실행되는 무의미한 상황 발생

ㅠㅠㅠ 그러다 생각하고 찾아낸게 ajax라는게 어쨌든 데이터전송하는거고 성공했으니 리뷰가 제대로 나오는거기에 ajax가 성공할때 스크립트를 실행시키게 하자! 라는 생각으로 ajaxSuccess 를 찾아냈다!

내가 무지한 탓에 이 간단한걸 너무 오래걸렸다.. ㅠㅠ 부디 나말고 삽질하는 사람 아무도 없기를,,,

 

 

반응형

'웹퍼블리싱 > JavaScript' 카테고리의 다른 글

날짜 카운트다운  (0) 2020.08.13
url 에서 parameter 추출 함수  (0) 2020.08.13

댓글