본문 바로가기

JS

Ajax

웹툰을 보고 싶다

웹툰서버에 웹툰의 데이터를 요청 

데이터의 url 기재함

GET 요청하면 웹툰 데이터줌 (가까운 GET요청으로는 브라우저 위에 주소창이 있음)

 

GET - 데이터를 읽을 때

POST - 데이터를 보낼 때 (form 태그 사용)

 

다음 요청을 하면 페이지가 새로고침이 된다 

 

ajax  - 새로고침 없이 데이터를 주고 받을 수 있음

 

$.get('https://codingapple1.github.io/hello.txt').done(function(data){
    console.log(data)
  });

다음같이 GET 요청을 했다

그럼 다음 url 에 있는 데이터를 가져온다 

(처음에 계속 오류가 났는데 jquery를 slim 버전이라 발생했다. 아닌 버전으로 다시 깔면됨)

 

 

 

$.post('https://codingapple1.github.io/hello.txt',{name: 'kim'}).done(function(data){
    console.log(data)
  });

이렇게 POST 요청을 함 

파라미터에 보내고 싶은 데이터를 씀 

댓글, 로그인 정보등을 보냄 

 

서버가 연결안됐거나, url 을 잘못입력할때 post 요청이 실패하는 경우가 있는데 이 때 다음같이 콜백함수를 실행함.

 

$.post('https://codingapple1.github.io/hello.txt',{name: 'kim'}).done(function(data){
    console.log(data)
  }).fail(fuction(){
   console.log('실패함')
  })

 

*axios : ajax 편하게 할때 쓰는 라이브러리

 

 

 

과제 

 <div class="col-sm-4">
        <img src="https://via.placeholder.com/600" class="w-100">
        <h5>title</h5>
        <p>price</p>
</div>

다음 같은 카드블록 버튼 누르면 3개 생성하기

 

이 url 에 3개의 데이터 담겨 있음

너무 오랜만에 해서 js로 html 생성하기, 문자열에 변수 넣기등 다 까먹어서 풀이를 보았다.

 

1. 먼저 버튼을 만든다

2.데이터를 가져옴 

3. 그 데이터를 html 에 담음 

4. 그 html 생성하고 

5. 3개의 반복이니 반복문을 사용(가져온 데이터는 배열이므로 foreach문 사용하면 유용)

 

$('#more').click(function(){

$.get('https://codingapple1.github.io/js/more1.json').done(function(data){
    data.forEach((a,i) => {

        var box = ` <div class="col-sm-4">
        <img src="https://via.placeholder.com/600" class="w-100">
        <h5>${data[i].title}</h5>
        <p>가격 : ${data[i].price}</p>
        </div>`;
        
        $('.container').append(box);
        
        
        
    });
  })

})

 

foreach 메서드의 두번째 인자가 하나씩 증가하는 정수인걸 이용해서 가져온 데이터에 차례로 접근

 

 

'JS' 카테고리의 다른 글

DOM이라는 용어 개념정리 & load 이벤트  (0) 2022.11.15
array에 자주 쓰는 sort, map, filter 함수  (0) 2022.11.15
array, for 반복문 실력향상 과제  (0) 2022.10.31
Select  (0) 2022.10.31
Array 와 Object 자료형  (0) 2022.10.27