-
Week 2 / JQuery, Ajax 기초와 다뤄보기예대 출신의 코딩 도전기 2021. 7. 14. 16:17
예대출신의 코딩 도전기 2주차
공부하며 정리한 내용입니다. 틀린 사항이 있으면 덧글로 알려주시면 감사하겠습니다.
1)JQuery 시작하기
1.1)jQuery란?
- HTML요소들을 조작하는, 편리한 JavaScript를 미리 작성해 모아둔 라이브러리. (마치 부트스트랩처럼)
- Import하여 사용해야함. Google이 호스트하는 jQuery CDN을 사용해 임포트 가능.
1.2)Import 방식 :
https://www.w3schools.com/jquery/jquery_get_started.asp 이 링크를 참고. (Download방식과 CDN 방식을 둘 다 보여준다)
Bootstrap을 이미 임포트한 상태면, Bootstrap에 jQuery가 포함되어 있어서 또다시 임포트할 필요 없다.
2)jQuery 다루기
CSS와 같이 jQuery도 대상을 가리켜야 조작할 수 있다.
- CSS → 선택자로 Class 사용 (제어시 ".class값")
- jQuery →선택자로 id 값을 사용해 특정 버튼/인풋박스/div/...등을 가리키게 된다. (제어시 "#id값"을 사용)
Class 와 id의 차이점
class는 하나의 HTML 문서에서 중복해서 사용할 수 있다.
id는 한 페이지의 고유하게 하나만 사용 가능. 하나의 태그에만 사용할 수 있다.jQuery에 정말 많은 기능이 있지만 외우는 식으로 학습 X → 눈과 손으로 익히고 필요한 기능은 구글링!!
2.1) 자주 쓰는 jQuery
크롬 개발자도구 콘솔창에서 입력해보며 진행하였다.
- input 박스의 값 불러오기
- <input>태그에 id를 지정해준 후,
- $('#id값').val();
- div보이기 / 숨기기
- $('#id값').show();
- $('#id값').hide();
- css의 값 가져와보기 (display값 불러오는 메소드)
- .display();
- 태그 내 텍스트 입력하기
- .text(원하는 텍스트 입력);
- input 박스에서 .val(); 에 값 입력하는 것과 다름
- 태그 내 html 입력하기 (백틱 `의 등장)
- <div>~</div> 태그 사이에 동적으로 html을 넣고 싶을 때
- html을 넣고 싶은 태그에 id값을 준다
let temp_html = `<button>버튼을 추가해보기</button>` //작은 따옴표('')아님, 백틱을 쓴것임 $('#id값').append(temp_html) //temp_html은 변수임으로 적절한 이름 지정할것 //``사이에 아예 html에 있는 다른 요소를 (ex.만들어둔 카드) 넣어주면 그런 요소도 추가 가능하다. 당연히.
자바스크립트에서 백틱(`)의 사용법
function q3() { let txt = $('#input-q3').val(); let q3_txt = `<li>${txt}</li>`; $('#names-q3').append(q3_txt); //왜 txt를 불러올 떄 ${txt}를 쓰는지 달러${}를 안쓰면 그냥 string으로 읽히는 이유?
위와 같은 궁금증에서 더 찾아본 결과
자바스크립트에서 ES2015이후 새로운 문자열 표기법이 생겼는데 그게 바로 백틱(`)을 사용하는 것이라고 한다.
``과 변수는 ${}에 넣어서 편하고 직관적인 문자열을 입력할 수 있다.
3)서버-클라이언트 통신 이해하기
JSON이란?
- JavaScrip Object Notation의 축약어, 데이어를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식(JS 문법과 유사하지만 문법이 아닌 그저 텍스트 형식)
- JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아 최근 XML을 대체해서 데이터 전송 등에 많이 사용된다.
- Javascript에서 객체를 만들 때 사용하는 표현식을 의미
JSON특징
- 서버 -> 클라이언트 교류에서 많이 사용된다.
- JSON은 Key:Value로 이루어져있다. Dictionary 자료형과 흡사
출처 : https://velog.io/@surim014/JSON%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
JSON 예시 - 서울시 미세먼지 OpenAPI
크롬 익스텐션 JSONView를 설치하면 편하게 볼 수 있다.http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99
클라이언트 to 서버 : GET 요청 이해하기
- GET : 통상적으로 데이터 조회(READ)를 요청할 때 (e.g. 상품 목록 조회)
- POST : 통상적으로 데이터의 생성(Create), 변경(Update), 삭제(Delete) 요청 시. (e.g. 회원가입, 회원탈퇴, 비밀번호 수정)
4) Ajax 시작하기
Ajax란?
- 자바스크립트의 라이브러리 중 하나, Asynchronous Javascript And Xml (비동기식 자바스크립트와 xml)의 약자.
- 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용하여 전체 페이지를 새로 고치지 않고 페이지 일부만을 위한 데이터를 로드하는 기법.
- Ajax라는 네트워크 기술을 이용해 클라이언트 -> 서버로 데이터를 요청하고 그 결과를 받을 수 있다.
출처 : https://velog.io/@surim014/AJAX%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
#참고# Ajax는 jQuery를 임포트한 페이지에서만 동작 가능하다.
Ajax 기본 골격 코드와 해설
$.ajax({ type: "GET", url: "여기에URL을입력", data: {}, success: function(response){ console.log(response) } })
- type : "GET" -> GET 방식으로 데이터 요청
- url : 요청할 url
- data: 요청하면서 함께 줄 데이터(GET 요청시엔 비워둔다
- success : 성공하면, 서버에서 준 결과를 response라는 변수에 담아서 함수를 실행한다.
Tip. 페이지 로딩 후 바로 Ajax 호출하기
$(document).ready(function(){ alert('다 로딩됐다!') });
2주차 개발일지 마무리하며
JS를 다루는 것을 처음 해보니 굉장히 Challenging하지만 재미있다. JSON이나 Ajax의 동작 방법에 대해 배웠지만 그 개념에 대한 이해나 필요성에 대해 이해하는 것은 시간을 필요로 했다. 수업 자료 외에 기본 지식은 구글링하면서 계속 쌓는 수 밖에 없는 것 같다.
내 손이 정말 오타를 많이 낸다. 대부분 오타에서 오는 에러 때문에 시간을 많이 썼다.
'예대 출신의 코딩 도전기' 카테고리의 다른 글
개발일지 Week 4 / Flask 프레임워크를 이용해 서버 구동, API만들기 (0) 2021.09.08 개발일지 Week 3 / Python 웹스크래핑, MongoDB (0) 2021.08.10 M1 Mac 환경에 Homebrew(홈브루) 설치하는 법 (0) 2021.07.12 HTML/CSS 기초를 활용해 미니 쇼핑몰 웹페이지 만들기 (0) 2021.07.06 Week 1 - HTML, CSS, JavaScript 기초 (0) 2021.07.04