SlideShare a Scribd company logo
1 of 42
Download to read offline
처음배우는
 자바스크립트,
 제이쿼리
#3
 Form
 Control,
 Animation,
 Ajax(json)
ABCD,
 스노우키위
 한성일
1. 빼먹은것..
GOAL
• 빼먹은것
• 에니메이션
• Form 이란?
• GET, POST
• 폼검증
• Ajax(json)
논리 연산자
연산자 설명 예제
 and
두가지 모두 만족하면 참
12  23 true
12  23 false
|| or
둘중 하나만 만족하면 참
12 || 23 true
12 || 23 true
12 || 23 false
!
not
같지 않으면 일때 많이 쓰고 참을
거짓으로 거짓을 참으로 바꿉니다.
1 != 2 true
!(1==1) false
!(1!=1) true
여러항의 조건을 검사할때 사용합니다.
Bool 타입으로 리턴합니다. (참, 거짓)
* 논리연산자 - Logical Operators
논리 연산자 실습1
script
var num = 1;
if ( num = 1  num  2 ) {
// 실행될까요?
console.log(and 1  + (num = 1  num  2).toString() );
} else {
console.log(and 1  + (num = 1  num  2).toString() );
}
if ( num  1  num  2 ) {
// 실행될까요?
console.log(and 2  + (num  1  num  2).toString() );
} else {
console.log(and 2  + (num  1  num  2).toString() );
}
num = 10; // num 변수의 값을 바꿉니다.
if ( num  1 || num  2 ) {
// 실행될까요?
console.log(or 1  + (num  1 || num  2).toString() );
} else {
console.log(or 1  + (num  1 || num  2).toString() );
}
논리 연산자 실습2
if ( num  1 || num  2 ) {
// 실행될까요?
console.log(or 2  + (num  1 || num  2).toString() );
} else {
console.log(or 2  + (num  1 || num  2).toString() );
}
if ( num  1 || num  2 ) {
// 실행될까요?
console.log(or 3  + (num  1 || num  2).toString() );
} else {
console.log(or 3  + (num  1 || num  2).toString() );
}
if ( num != 5 ) {
// 실행될까요?
console.log(not 1  + (num != 5).toString() );
} else {
console.log(not 1  + (num != 5).toString() );
}
if ( !(num == 10) ) {
// 실행될까요?
console.log(not 2  + !(num == 10).toString() );
} else {
console.log(not 2  + !(num == 10).toString() );
}
/script
논리 연산자 실습 설명
변수.toString()
문자형으로 바꿔주는 함수입니다.
“문자형” 을 bool 형으로 연결할 때는 bool type의
변수를 문자형으로 캐스팅한후에 더해줍니다. (+)
bool type 은 true 와 false 만 저장됩니다.
2.ANIMATION
애니메이션
제이쿼리는 애니메이션 처리에 최적화 되어 있습니다.
간단한 작업으로 다양한 애니메이션 처리가 가능합니다.
FADE IN, FADE OUT
body
div
button id=fadeout페이드 아웃/button
button id=fadein페이드 인/button
/div
div
img src=q.gif/
/div
script
$(document).ready(function(){
$(#fadeout).click(function() {
$(img).fadeOut(slow);
});
$(#fadein).click(function() {
$(img).fadeIn(slow);
});
});
/script
/body
jq1.html
소스와 같은 폴더에 이미지를
저장하시고 이해하기 쉬운 이
미지 명으로 바꿔주세요!!
FADE IN, FADE OUT
$(img).fadeIn(slow);
$(img).fadeOut(slow);
fadeIn() 을 하면 천천히 오브젝트가 나오고
fadeOut() 을 하면 천천히 오브젝트가 사라집니다.
“slow”를 인자로 저장하면 속도가 조절 됩니다.
숫자도 넣을 수 있습니다. (animate 속도 도..)
숫자는 1000 이 1초 입니다.
3000이면 3초동안 사라집니다.
$(img).fadeOut(3000);
자동차 출발
소스와 같은 폴더에 이미지를 저장하시고 이해하기 쉬운
이미지 명으로 바꿔주세요. 자동차 좋습니다.
자동차 출발!DOCTYPE html
html
head lang=ko
meta charset=UTF-8
title자동차 출발/title
script src=“http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js
/script
style
img {
height:100px;
width:150px;
top:100px;
left:100px;
position:absolute;
opacity:0.5;
}
/style
/head
body
button id=left_button왼쪽으로/button
button id=right_button오른쪽으로/button
img src=a.png /
script
$(document).ready(function(){
$(#left_button).click(function(){
$(“img).animate(
{left: '500px', opacity: '1', height: '370px', width: '570px' });
});
$(#right_button).click(function(){
$(img).animate(
{left: '100px', top:'100px', opacity: '0.5', height: '100px', width: '150px' }
);
});
});
/script
/body
/html
jq2.html
자동차 출발
$(“img).animate(
{left: '500px', opacity: '1', height: '370px', width: '570px' }
);
이미지가 왼쪽으로 500px 이동하고 opacity 값이 채워져 투명이
사라집니다. 그리고 높이 값과 너비가 변경됩니다.
{left: '500px', opacity: '1', height: '370px', width: '570px' }
이런 데이터 형식을 Json 형식이라고 합니다.
{변수명1: ‘값', 변수명2: ‘값'}
토글 애니메이션
!DOCTYPE html
html
head lang=ko
meta charset=UTF-8
title/title
script src=“http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js
/script
style
img {
width:500px;
position:absolute;
background-color: azure;
}
/style
/head
body
button id=button열려라/button
divimg src=q.gif//div
script
$(document).ready(function(){
$(#button).click(function(){
$(img).animate({
height: 'toggle'
});
});
});
/script
/body
/html
jq3.html
토글 애니메이션
$(img).animate({
height: 'toggle'
});
height 값을 ‘toggle’ 로 주면
이미지의 높이가 천천히 줄어듭니다.
박스 애니메이션!DOCTYPE html
html
head lang=ko
meta charset=UTF-8
title/title
script src=http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js/script
style
div {
background:#586BFF;
height:100px;
width:100px;
position:absolute;
}
/style
/head
body
button시작/button
div안녕!/div
script
$(document).ready(function(){
$(button).click(function(){
var div = $(div);
div.animate({height: '300px', opacity: '0.4'}, slow);
div.animate({width: '300px', opacity: '0.8', fontSize: '4em'}, slow);
div.animate({height: '100px', opacity: '0.4'}, slow);
div.animate({width: '100px', opacity: '0.8', fontSize: '2em'}, slow);
});
});
/script
/body
/html
jq4.html
박스 애니메이션
div.animate({height: '300px', opacity: '0.4'}, slow);
div.animate({width: '300px', opacity: '0.8', fontSize: '4em'}, slow);
div.animate({height: '100px', opacity: '0.4'}, slow);
div.animate({width: '100px', opacity: '0.8', fontSize: '2em'}, slow);
높이가 300이고 Opacity 가 0.4 인 도형부터
너비가 300px 인 도형 ... 으로 4변 변합니다.
Opacity는 투명도를 나타냅니다.
0이 투명이고 1은 원안입니다.
div.animate({width: '300px', opacity: '0.8', fontSize: '4em'}, slow);
fontSize:‘4em’ 은 도형이 변하는 동안
폰트의 사이즈도 변경 시켜줍니다.
2. 폼(FORM)
FORM!DOCTYPE html
html
head lang=ko
meta charset=UTF-8
title폼/title
/head
body
form method=post action=http://www.abcds.kr/study/s2.php 
div
span아이디/span br/
input type=“text /
/div
div
span패스워드/span br/
input type=password name=“pass /
/div
div
span패스워드 확인/span br/
input type=password name=pass_con/
/div
div
span 성별 /span br/
input type=radio name=gender value=남자 checked 남자 /input
input type=radio name=gender value=여자 여자 /input
/div
div
br/
input type=checkbox name=agree value=ok 동의합니다./input
/div
input type=submit id=submit_button value=서버로 /
/form
/body
/html
jq5.html
폼은 서버로 전달 하기 입력들을 묶기위해 사용하는 장치라고
보시면 좋습니다. form/form 사이에 입력들이 위치합니다.
form method=전송방법 action=“데이터를 전달 받을 서버의 주소 
method 엘리먼트는 GET, POST 를 구분할 때 사용하고
form 에서는 대부분 POST 를 사용합니다.
action 은 데이터를 전달 할 서버의 주소를 나타냅니다.
form이 submit 되면 form /form 사이의 입력값들이
서버로 전달됩니다.
FORM
폼검증
우리가 자바스크립트를 가장 많이 접하게 되는 곳이 폼검증 입니다.
서버에 값을 전달하기 전에 로컬에서 입력된 정보의 유효성을
검증하기 위해 사용합니다.
폼검증 예제1
!DOCTYPE html
html
head lang=ko
meta charset=UTF-8
title폼검증/title
script src=http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js/script
/head
body
h2회원가입/h2
form id=join_form method=post action=http://www.abcds.kr/study/s2.php 
div
span아이디/span br/
input type=text name=id id=id /
/div
div
span패스워드/span br/
input type=password name=pass id=pass /
/div
div
span패스워드 확인/span br/
input type=password name=pass_con id=pass_con/
/div
div
span 성별 /span br/
input type=radio name=gender value=남자 checked 남자 /input
input type=radio name=gender value=여자 여자 /input
/div
div
br/
input type=checkbox name=agree id=agree value=ok 동의합니다. /input
/div
input type=button id=submit_button value=서버로 /
/form
jq6.html
폼검증 예제2
script
$(document).ready(function(){
$(#submit_button).click(function(){
var id = $(#id);
var pass = $(#pass);
var pass_con = $(#pass_con);
var agree = $(#agree);
if ( id.val() ==  ) {
alert('아이디를 입력해 주세요');
id.focus();
} else if ( pass.val() ==  ) {
alert('비밀번호를 입력해주세요');
pass.focus();
} else if ( pass_con.val() ==  ) {
alert('확인 비밀번호를 입력해주세요');
pass_con.focus();
} else if ( agree.is(:checked) == false) {
alert('동의하기 버튼을 눌러주세요.');
agree.focus();
} else { // 모두 입력 되었음
if ( pass.val() == pass_con.val() ) { // 비밀번호와 비밀번호 재입력이 같다면
alert('서버전송');
$(#join_form).submit();
} else {
alert('비밀번호가 다릅니다.');
pass.focus();
}
}
});
});
/script
/body
/html
jq6.html
폼검증 예제
.focus();
.val()
var id = $(#id);
var pass = $(#pass);
var pass_con = $(#pass_con);
var agree = $(#agree);
우선 변수에 입력오브젝트들을 저장합니다.
지정된 입력 오브젝트들로 포커스를 이동시키는 함수입니다.
오브젝트의 값을 가져오거나 저장하는 함수입니다.
3. GET, POST
요청
웹서버
www.dog.com
인터넷
브라우져
서버로 정보를 요청하려면 어떻게 해야할 까요?
어떻게 받을 수 있을까요.
아이디와 암호를 서버
로 전달해야지
니 아이디가 이거고 비밀
번호 니가 맞구나.
요청
GET, POST방식을 가장 많이 사용합니다.
클라이언트는 정보를 서버로 보냅니다. 물론 서버도 받을 준비가 되어있어야 합니다.
GET
!DOCTYPE html
html
head lang=ko
meta charset=UTF-8
titleGET/title
/head
body
a href=http://www.abcds.kr/study/s1.php?id=jamiepass=1234
서버에 GET 으로 데이터 전달/a
/body
/html
jq7.html
GET
http://www.abcds.kr/study/s1.php?id=jamiepass=1234
?id=jamiepass=1234
주소를 노출 하기 때문에 지금 처럼 아이디 패스워드를 넣는것은 안되겠죠.
보안에 문제가 있기 때문에 보안에 민감한 정보일때는 사용하지 않습니다.
서버에 보내는 쿼리(질문)입니다. ? 이 의문임을 기억하시면 좋습니다.
id 가 jamie 이고 password가 1234 인 사람의 정보를 서버로 보낸다는
의미입니다.
POST
!DOCTYPE html
html
head lang=en
meta charset=UTF-8
titlePOST/title
/head
body
form action=http://www.abcds.kr/study/s2.php method=post
input type=text name=id /
input type=text name=pass /
input type=submit /
/form
/body
/html
jq8.html
POST
POST 방식은 조금 다릅니다.
전달되는 데이터가 노출 되지 않고 GET보다 더 큰 용량의 정보를 전달할 수 있습니다.
보안에 민감한 정보들은 일반적으로 POST 로 넘깁니다.
대신 주소를 가질 수 없기때문에 다시 그 상황을 만들어 낼 수 없습니다.
이부분이 GET방식과 가장 다른 부분입니다.
form action=“http://www.dog.com” method=“post
….
/form
4.AJAX
AJAX
Asynchronous JavaScript and XML
AJAX는 서버와 통신을 할 수 없었던 자바스크립트의 단점을 보완한 기능입니다.
AJAX가 나오면서 자바스크립트는 한단계 더 크게 발전을 할 수 있었습니다.
제이쿼리는 AJAX 를 하기쉽게 되어있습니다.

More Related Content

What's hot

파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)성일 한
 
Django admin site 커스텀하여 적극적으로 활용하기
Django admin site 커스텀하여 적극적으로 활용하기Django admin site 커스텀하여 적극적으로 활용하기
Django admin site 커스텀하여 적극적으로 활용하기영우 박
 
Web Components 101 polymer & brick
Web Components 101 polymer & brickWeb Components 101 polymer & brick
Web Components 101 polymer & brickyongwoo Jeon
 
QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기
QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기
QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기Kwangyoun Jung
 
Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Kyoung Up Jung
 
자바스크립트 프레임워크 살펴보기
자바스크립트 프레임워크 살펴보기자바스크립트 프레임워크 살펴보기
자바스크립트 프레임워크 살펴보기Jeado Ko
 
Django와 flask
Django와 flaskDjango와 flask
Django와 flaskJiho Lee
 
간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기Kyoung Up Jung
 
Laravel 로 배우는 서버사이드 #4
Laravel 로 배우는 서버사이드 #4Laravel 로 배우는 서버사이드 #4
Laravel 로 배우는 서버사이드 #4성일 한
 
다시보는 Angular js
다시보는 Angular js다시보는 Angular js
다시보는 Angular jsJeado Ko
 
Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자Kyoung Up Jung
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?Sang-ho Choi
 
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기Jeado Ko
 
처음배우는 자바스크립트, 제이쿼리 #2
처음배우는 자바스크립트, 제이쿼리 #2처음배우는 자바스크립트, 제이쿼리 #2
처음배우는 자바스크립트, 제이쿼리 #2성일 한
 
테스트가 뭐예요?
테스트가 뭐예요?테스트가 뭐예요?
테스트가 뭐예요?Kyoung Up Jung
 
Clean Front-End Development
Clean Front-End DevelopmentClean Front-End Development
Clean Front-End Development지수 윤
 
Vuejs 시작하기
Vuejs 시작하기Vuejs 시작하기
Vuejs 시작하기성일 한
 
웹성능최적화 20130405
웹성능최적화 20130405웹성능최적화 20130405
웹성능최적화 20130405주형 전
 
5-5. html5 connectivity
5-5. html5 connectivity5-5. html5 connectivity
5-5. html5 connectivityJinKyoungHeo
 

What's hot (20)

파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
 
Django admin site 커스텀하여 적극적으로 활용하기
Django admin site 커스텀하여 적극적으로 활용하기Django admin site 커스텀하여 적극적으로 활용하기
Django admin site 커스텀하여 적극적으로 활용하기
 
Web Components 101 polymer & brick
Web Components 101 polymer & brickWeb Components 101 polymer & brick
Web Components 101 polymer & brick
 
QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기
QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기
QnA Blog Using Django - 회원가임/로그인폼, Post, 글보기
 
Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.
 
자바스크립트 프레임워크 살펴보기
자바스크립트 프레임워크 살펴보기자바스크립트 프레임워크 살펴보기
자바스크립트 프레임워크 살펴보기
 
Django와 flask
Django와 flaskDjango와 flask
Django와 flask
 
간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기
 
Laravel 로 배우는 서버사이드 #4
Laravel 로 배우는 서버사이드 #4Laravel 로 배우는 서버사이드 #4
Laravel 로 배우는 서버사이드 #4
 
다시보는 Angular js
다시보는 Angular js다시보는 Angular js
다시보는 Angular js
 
Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자Django로 쇼핑몰 만들자
Django로 쇼핑몰 만들자
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
 
Django View Part 1
Django View Part 1Django View Part 1
Django View Part 1
 
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
[XECon+PHPFest 2014] jQuery 개발자에서 AngularJS 개발자 되기
 
처음배우는 자바스크립트, 제이쿼리 #2
처음배우는 자바스크립트, 제이쿼리 #2처음배우는 자바스크립트, 제이쿼리 #2
처음배우는 자바스크립트, 제이쿼리 #2
 
테스트가 뭐예요?
테스트가 뭐예요?테스트가 뭐예요?
테스트가 뭐예요?
 
Clean Front-End Development
Clean Front-End DevelopmentClean Front-End Development
Clean Front-End Development
 
Vuejs 시작하기
Vuejs 시작하기Vuejs 시작하기
Vuejs 시작하기
 
웹성능최적화 20130405
웹성능최적화 20130405웹성능최적화 20130405
웹성능최적화 20130405
 
5-5. html5 connectivity
5-5. html5 connectivity5-5. html5 connectivity
5-5. html5 connectivity
 

Viewers also liked

CSS 선택자와 디버그
CSS 선택자와 디버그CSS 선택자와 디버그
CSS 선택자와 디버그성일 한
 
나의 jQuery 실력 향상기
나의 jQuery 실력 향상기나의 jQuery 실력 향상기
나의 jQuery 실력 향상기정석 양
 
6주 javaScript 시작하며
6주  javaScript 시작하며6주  javaScript 시작하며
6주 javaScript 시작하며지수 윤
 
[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery정석 양
 
이런워드프레스가없다는건 이런워드프레스가없다는것
이런워드프레스가없다는건 이런워드프레스가없다는것이런워드프레스가없다는건 이런워드프레스가없다는것
이런워드프레스가없다는건 이런워드프레스가없다는것Seyoung Choi
 
Oracle 세미나 1차 과제 V1 0
Oracle 세미나 1차 과제 V1 0Oracle 세미나 1차 과제 V1 0
Oracle 세미나 1차 과제 V1 0guest468e16
 
9주 DOM & Event Advanced
9주  DOM & Event Advanced9주  DOM & Event Advanced
9주 DOM & Event Advanced지수 윤
 
Study bootstrap4
Study bootstrap4Study bootstrap4
Study bootstrap4협수 남
 
워드프레스 기초 (ABCD) #2
워드프레스 기초 (ABCD) #2워드프레스 기초 (ABCD) #2
워드프레스 기초 (ABCD) #2성일 한
 
오렌지6.0 교육자료
오렌지6.0 교육자료오렌지6.0 교육자료
오렌지6.0 교육자료Seok-joon Yun
 
워드프레스 기초 (ABCD) #1
워드프레스 기초 (ABCD) #1워드프레스 기초 (ABCD) #1
워드프레스 기초 (ABCD) #1성일 한
 
Ajax ellen seon_ss
Ajax ellen seon_ssAjax ellen seon_ss
Ajax ellen seon_ssEllen Seon
 

Viewers also liked (20)

4-2. ajax
4-2. ajax4-2. ajax
4-2. ajax
 
Jquery핵심노토
Jquery핵심노토Jquery핵심노토
Jquery핵심노토
 
Basic css
Basic cssBasic css
Basic css
 
html+css
html+csshtml+css
html+css
 
CSS 선택자와 디버그
CSS 선택자와 디버그CSS 선택자와 디버그
CSS 선택자와 디버그
 
jQuery 구조와 기능
jQuery 구조와 기능jQuery 구조와 기능
jQuery 구조와 기능
 
나의 jQuery 실력 향상기
나의 jQuery 실력 향상기나의 jQuery 실력 향상기
나의 jQuery 실력 향상기
 
6주 javaScript 시작하며
6주  javaScript 시작하며6주  javaScript 시작하며
6주 javaScript 시작하며
 
Basic html
Basic htmlBasic html
Basic html
 
[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery
 
4-3. jquery
4-3. jquery4-3. jquery
4-3. jquery
 
이런워드프레스가없다는건 이런워드프레스가없다는것
이런워드프레스가없다는건 이런워드프레스가없다는것이런워드프레스가없다는건 이런워드프레스가없다는것
이런워드프레스가없다는건 이런워드프레스가없다는것
 
Oracle 세미나 1차 과제 V1 0
Oracle 세미나 1차 과제 V1 0Oracle 세미나 1차 과제 V1 0
Oracle 세미나 1차 과제 V1 0
 
jQuery Trend
jQuery TrendjQuery Trend
jQuery Trend
 
9주 DOM & Event Advanced
9주  DOM & Event Advanced9주  DOM & Event Advanced
9주 DOM & Event Advanced
 
Study bootstrap4
Study bootstrap4Study bootstrap4
Study bootstrap4
 
워드프레스 기초 (ABCD) #2
워드프레스 기초 (ABCD) #2워드프레스 기초 (ABCD) #2
워드프레스 기초 (ABCD) #2
 
오렌지6.0 교육자료
오렌지6.0 교육자료오렌지6.0 교육자료
오렌지6.0 교육자료
 
워드프레스 기초 (ABCD) #1
워드프레스 기초 (ABCD) #1워드프레스 기초 (ABCD) #1
워드프레스 기초 (ABCD) #1
 
Ajax ellen seon_ss
Ajax ellen seon_ssAjax ellen seon_ss
Ajax ellen seon_ss
 

Similar to 처음배우는 자바스크립트, 제이쿼리 #3

Xe3.0 frontend validator
Xe3.0 frontend validatorXe3.0 frontend validator
Xe3.0 frontend validator승훈 오
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차Han Sung Kim
 
Startup JavaScript 9 - Socket.IO 실시간 통신
Startup JavaScript 9 - Socket.IO 실시간 통신Startup JavaScript 9 - Socket.IO 실시간 통신
Startup JavaScript 9 - Socket.IO 실시간 통신Circulus
 
Angular2 가기전 Type script소개
 Angular2 가기전 Type script소개 Angular2 가기전 Type script소개
Angular2 가기전 Type script소개Dong Jun Kwon
 
Web vulnerability seminar2
Web vulnerability seminar2Web vulnerability seminar2
Web vulnerability seminar2Sakuya Izayoi
 
Startup JavaScript 6 - 함수, 스코프, 클로저
Startup JavaScript 6 - 함수, 스코프, 클로저Startup JavaScript 6 - 함수, 스코프, 클로저
Startup JavaScript 6 - 함수, 스코프, 클로저Circulus
 
bsSelector (GDG DevFest 2014)
bsSelector (GDG DevFest 2014)bsSelector (GDG DevFest 2014)
bsSelector (GDG DevFest 2014)Seung-Hyun PAEK
 
[115] clean fe development_윤지수
[115] clean fe development_윤지수[115] clean fe development_윤지수
[115] clean fe development_윤지수NAVER D2
 
Es2015 Simple Overview
Es2015 Simple OverviewEs2015 Simple Overview
Es2015 Simple OverviewKim Hunmin
 
EcmaScript6(2015) Overview
EcmaScript6(2015) OverviewEcmaScript6(2015) Overview
EcmaScript6(2015) Overviewyongwoo Jeon
 
Startup JavaScript 3 - 조건문, 반복문, 예외처리
Startup JavaScript 3 - 조건문, 반복문, 예외처리Startup JavaScript 3 - 조건문, 반복문, 예외처리
Startup JavaScript 3 - 조건문, 반복문, 예외처리Circulus
 
Node.js and react
Node.js and reactNode.js and react
Node.js and reactHyungKuIm
 
Partner Story(Megazone): 금융사 실전 프로젝트 DeepDive
Partner Story(Megazone): 금융사 실전 프로젝트 DeepDive Partner Story(Megazone): 금융사 실전 프로젝트 DeepDive
Partner Story(Megazone): 금융사 실전 프로젝트 DeepDive Elasticsearch
 
자바스크립트 기초문법~함수기초
자바스크립트 기초문법~함수기초자바스크립트 기초문법~함수기초
자바스크립트 기초문법~함수기초진수 정
 
Javascript개발자의 눈으로 python 들여다보기
Javascript개발자의 눈으로 python 들여다보기Javascript개발자의 눈으로 python 들여다보기
Javascript개발자의 눈으로 python 들여다보기지수 윤
 

Similar to 처음배우는 자바스크립트, 제이쿼리 #3 (20)

Hacosa j query 10th
Hacosa j query 10thHacosa j query 10th
Hacosa j query 10th
 
Xe3.0 frontend validator
Xe3.0 frontend validatorXe3.0 frontend validator
Xe3.0 frontend validator
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차
 
Startup JavaScript 9 - Socket.IO 실시간 통신
Startup JavaScript 9 - Socket.IO 실시간 통신Startup JavaScript 9 - Socket.IO 실시간 통신
Startup JavaScript 9 - Socket.IO 실시간 통신
 
Javascript기초
Javascript기초Javascript기초
Javascript기초
 
Angular2 가기전 Type script소개
 Angular2 가기전 Type script소개 Angular2 가기전 Type script소개
Angular2 가기전 Type script소개
 
Javascript
JavascriptJavascript
Javascript
 
Web vulnerability seminar2
Web vulnerability seminar2Web vulnerability seminar2
Web vulnerability seminar2
 
Startup JavaScript 6 - 함수, 스코프, 클로저
Startup JavaScript 6 - 함수, 스코프, 클로저Startup JavaScript 6 - 함수, 스코프, 클로저
Startup JavaScript 6 - 함수, 스코프, 클로저
 
bsSelector (GDG DevFest 2014)
bsSelector (GDG DevFest 2014)bsSelector (GDG DevFest 2014)
bsSelector (GDG DevFest 2014)
 
[115] clean fe development_윤지수
[115] clean fe development_윤지수[115] clean fe development_윤지수
[115] clean fe development_윤지수
 
Spring Boot 2
Spring Boot 2Spring Boot 2
Spring Boot 2
 
Es2015 Simple Overview
Es2015 Simple OverviewEs2015 Simple Overview
Es2015 Simple Overview
 
EcmaScript6(2015) Overview
EcmaScript6(2015) OverviewEcmaScript6(2015) Overview
EcmaScript6(2015) Overview
 
Startup JavaScript 3 - 조건문, 반복문, 예외처리
Startup JavaScript 3 - 조건문, 반복문, 예외처리Startup JavaScript 3 - 조건문, 반복문, 예외처리
Startup JavaScript 3 - 조건문, 반복문, 예외처리
 
Xe hack
Xe hackXe hack
Xe hack
 
Node.js and react
Node.js and reactNode.js and react
Node.js and react
 
Partner Story(Megazone): 금융사 실전 프로젝트 DeepDive
Partner Story(Megazone): 금융사 실전 프로젝트 DeepDive Partner Story(Megazone): 금융사 실전 프로젝트 DeepDive
Partner Story(Megazone): 금융사 실전 프로젝트 DeepDive
 
자바스크립트 기초문법~함수기초
자바스크립트 기초문법~함수기초자바스크립트 기초문법~함수기초
자바스크립트 기초문법~함수기초
 
Javascript개발자의 눈으로 python 들여다보기
Javascript개발자의 눈으로 python 들여다보기Javascript개발자의 눈으로 python 들여다보기
Javascript개발자의 눈으로 python 들여다보기
 

More from 성일 한

파이어베이스 스터디
파이어베이스 스터디파이어베이스 스터디
파이어베이스 스터디성일 한
 
Electron 개발하기
Electron 개발하기Electron 개발하기
Electron 개발하기성일 한
 
Python 으로 Slackbot 개발하기
Python 으로 Slackbot 개발하기Python 으로 Slackbot 개발하기
Python 으로 Slackbot 개발하기성일 한
 
2016 ABCD 소개
2016 ABCD 소개2016 ABCD 소개
2016 ABCD 소개성일 한
 
Laravel 로 배우는 서버사이드 #5
Laravel 로 배우는 서버사이드 #5Laravel 로 배우는 서버사이드 #5
Laravel 로 배우는 서버사이드 #5성일 한
 
Laravel 로 배우는 서버사이드 #1
Laravel 로 배우는 서버사이드 #1Laravel 로 배우는 서버사이드 #1
Laravel 로 배우는 서버사이드 #1성일 한
 
인플루언서 마케팅 (INFLUENCER MARKETING)
인플루언서 마케팅 (INFLUENCER MARKETING)인플루언서 마케팅 (INFLUENCER MARKETING)
인플루언서 마케팅 (INFLUENCER MARKETING)성일 한
 
Ionic으로 모바일앱 만들기 #5
Ionic으로 모바일앱 만들기 #5Ionic으로 모바일앱 만들기 #5
Ionic으로 모바일앱 만들기 #5성일 한
 
Ionic으로 모바일앱 만들기 #4
Ionic으로 모바일앱 만들기 #4Ionic으로 모바일앱 만들기 #4
Ionic으로 모바일앱 만들기 #4성일 한
 
Ionic으로 모바일앱 만들기 #3
Ionic으로 모바일앱 만들기 #3Ionic으로 모바일앱 만들기 #3
Ionic으로 모바일앱 만들기 #3성일 한
 
Ionic으로 모바일앱 만들기 #2
Ionic으로 모바일앱 만들기 #2Ionic으로 모바일앱 만들기 #2
Ionic으로 모바일앱 만들기 #2성일 한
 
Ionic으로 모바일앱 만들기 #1
Ionic으로 모바일앱 만들기 #1Ionic으로 모바일앱 만들기 #1
Ionic으로 모바일앱 만들기 #1성일 한
 
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)성일 한
 
파이썬 플라스크로 배우는 웹프로그래밍 #2 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #2 (ABCD)파이썬 플라스크로 배우는 웹프로그래밍 #2 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #2 (ABCD)성일 한
 
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)성일 한
 

More from 성일 한 (15)

파이어베이스 스터디
파이어베이스 스터디파이어베이스 스터디
파이어베이스 스터디
 
Electron 개발하기
Electron 개발하기Electron 개발하기
Electron 개발하기
 
Python 으로 Slackbot 개발하기
Python 으로 Slackbot 개발하기Python 으로 Slackbot 개발하기
Python 으로 Slackbot 개발하기
 
2016 ABCD 소개
2016 ABCD 소개2016 ABCD 소개
2016 ABCD 소개
 
Laravel 로 배우는 서버사이드 #5
Laravel 로 배우는 서버사이드 #5Laravel 로 배우는 서버사이드 #5
Laravel 로 배우는 서버사이드 #5
 
Laravel 로 배우는 서버사이드 #1
Laravel 로 배우는 서버사이드 #1Laravel 로 배우는 서버사이드 #1
Laravel 로 배우는 서버사이드 #1
 
인플루언서 마케팅 (INFLUENCER MARKETING)
인플루언서 마케팅 (INFLUENCER MARKETING)인플루언서 마케팅 (INFLUENCER MARKETING)
인플루언서 마케팅 (INFLUENCER MARKETING)
 
Ionic으로 모바일앱 만들기 #5
Ionic으로 모바일앱 만들기 #5Ionic으로 모바일앱 만들기 #5
Ionic으로 모바일앱 만들기 #5
 
Ionic으로 모바일앱 만들기 #4
Ionic으로 모바일앱 만들기 #4Ionic으로 모바일앱 만들기 #4
Ionic으로 모바일앱 만들기 #4
 
Ionic으로 모바일앱 만들기 #3
Ionic으로 모바일앱 만들기 #3Ionic으로 모바일앱 만들기 #3
Ionic으로 모바일앱 만들기 #3
 
Ionic으로 모바일앱 만들기 #2
Ionic으로 모바일앱 만들기 #2Ionic으로 모바일앱 만들기 #2
Ionic으로 모바일앱 만들기 #2
 
Ionic으로 모바일앱 만들기 #1
Ionic으로 모바일앱 만들기 #1Ionic으로 모바일앱 만들기 #1
Ionic으로 모바일앱 만들기 #1
 
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #4 (ABCD)
 
파이썬 플라스크로 배우는 웹프로그래밍 #2 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #2 (ABCD)파이썬 플라스크로 배우는 웹프로그래밍 #2 (ABCD)
파이썬 플라스크로 배우는 웹프로그래밍 #2 (ABCD)
 
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
 

처음배우는 자바스크립트, 제이쿼리 #3

  • 11. GOAL • 빼먹은것 • 에니메이션 • Form 이란? • GET, POST • 폼검증 • Ajax(json)
  • 12. 논리 연산자 연산자 설명 예제 and 두가지 모두 만족하면 참 12 23 true 12 23 false || or 둘중 하나만 만족하면 참 12 || 23 true 12 || 23 true 12 || 23 false ! not 같지 않으면 일때 많이 쓰고 참을 거짓으로 거짓을 참으로 바꿉니다. 1 != 2 true !(1==1) false !(1!=1) true 여러항의 조건을 검사할때 사용합니다. Bool 타입으로 리턴합니다. (참, 거짓) * 논리연산자 - Logical Operators
  • 13. 논리 연산자 실습1 script var num = 1; if ( num = 1 num 2 ) { // 실행될까요? console.log(and 1 + (num = 1 num 2).toString() ); } else { console.log(and 1 + (num = 1 num 2).toString() ); } if ( num 1 num 2 ) { // 실행될까요? console.log(and 2 + (num 1 num 2).toString() ); } else { console.log(and 2 + (num 1 num 2).toString() ); } num = 10; // num 변수의 값을 바꿉니다. if ( num 1 || num 2 ) { // 실행될까요? console.log(or 1 + (num 1 || num 2).toString() ); } else { console.log(or 1 + (num 1 || num 2).toString() ); }
  • 14. 논리 연산자 실습2 if ( num 1 || num 2 ) { // 실행될까요? console.log(or 2 + (num 1 || num 2).toString() ); } else { console.log(or 2 + (num 1 || num 2).toString() ); } if ( num 1 || num 2 ) { // 실행될까요? console.log(or 3 + (num 1 || num 2).toString() ); } else { console.log(or 3 + (num 1 || num 2).toString() ); } if ( num != 5 ) { // 실행될까요? console.log(not 1 + (num != 5).toString() ); } else { console.log(not 1 + (num != 5).toString() ); } if ( !(num == 10) ) { // 실행될까요? console.log(not 2 + !(num == 10).toString() ); } else { console.log(not 2 + !(num == 10).toString() ); } /script
  • 15. 논리 연산자 실습 설명 변수.toString() 문자형으로 바꿔주는 함수입니다. “문자형” 을 bool 형으로 연결할 때는 bool type의 변수를 문자형으로 캐스팅한후에 더해줍니다. (+) bool type 은 true 와 false 만 저장됩니다.
  • 17. 애니메이션 제이쿼리는 애니메이션 처리에 최적화 되어 있습니다. 간단한 작업으로 다양한 애니메이션 처리가 가능합니다.
  • 18. FADE IN, FADE OUT body div button id=fadeout페이드 아웃/button button id=fadein페이드 인/button /div div img src=q.gif/ /div script $(document).ready(function(){ $(#fadeout).click(function() { $(img).fadeOut(slow); }); $(#fadein).click(function() { $(img).fadeIn(slow); }); }); /script /body jq1.html 소스와 같은 폴더에 이미지를 저장하시고 이해하기 쉬운 이 미지 명으로 바꿔주세요!!
  • 19. FADE IN, FADE OUT $(img).fadeIn(slow); $(img).fadeOut(slow); fadeIn() 을 하면 천천히 오브젝트가 나오고 fadeOut() 을 하면 천천히 오브젝트가 사라집니다. “slow”를 인자로 저장하면 속도가 조절 됩니다. 숫자도 넣을 수 있습니다. (animate 속도 도..) 숫자는 1000 이 1초 입니다. 3000이면 3초동안 사라집니다. $(img).fadeOut(3000);
  • 20. 자동차 출발 소스와 같은 폴더에 이미지를 저장하시고 이해하기 쉬운 이미지 명으로 바꿔주세요. 자동차 좋습니다.
  • 21. 자동차 출발!DOCTYPE html html head lang=ko meta charset=UTF-8 title자동차 출발/title script src=“http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js /script style img { height:100px; width:150px; top:100px; left:100px; position:absolute; opacity:0.5; } /style /head body button id=left_button왼쪽으로/button button id=right_button오른쪽으로/button img src=a.png / script $(document).ready(function(){ $(#left_button).click(function(){ $(“img).animate( {left: '500px', opacity: '1', height: '370px', width: '570px' }); }); $(#right_button).click(function(){ $(img).animate( {left: '100px', top:'100px', opacity: '0.5', height: '100px', width: '150px' } ); }); }); /script /body /html jq2.html
  • 22. 자동차 출발 $(“img).animate( {left: '500px', opacity: '1', height: '370px', width: '570px' } ); 이미지가 왼쪽으로 500px 이동하고 opacity 값이 채워져 투명이 사라집니다. 그리고 높이 값과 너비가 변경됩니다. {left: '500px', opacity: '1', height: '370px', width: '570px' } 이런 데이터 형식을 Json 형식이라고 합니다. {변수명1: ‘값', 변수명2: ‘값'}
  • 23. 토글 애니메이션 !DOCTYPE html html head lang=ko meta charset=UTF-8 title/title script src=“http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js /script style img { width:500px; position:absolute; background-color: azure; } /style /head body button id=button열려라/button divimg src=q.gif//div script $(document).ready(function(){ $(#button).click(function(){ $(img).animate({ height: 'toggle' }); }); }); /script /body /html jq3.html
  • 24. 토글 애니메이션 $(img).animate({ height: 'toggle' }); height 값을 ‘toggle’ 로 주면 이미지의 높이가 천천히 줄어듭니다.
  • 25. 박스 애니메이션!DOCTYPE html html head lang=ko meta charset=UTF-8 title/title script src=http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js/script style div { background:#586BFF; height:100px; width:100px; position:absolute; } /style /head body button시작/button div안녕!/div script $(document).ready(function(){ $(button).click(function(){ var div = $(div); div.animate({height: '300px', opacity: '0.4'}, slow); div.animate({width: '300px', opacity: '0.8', fontSize: '4em'}, slow); div.animate({height: '100px', opacity: '0.4'}, slow); div.animate({width: '100px', opacity: '0.8', fontSize: '2em'}, slow); }); }); /script /body /html jq4.html
  • 26. 박스 애니메이션 div.animate({height: '300px', opacity: '0.4'}, slow); div.animate({width: '300px', opacity: '0.8', fontSize: '4em'}, slow); div.animate({height: '100px', opacity: '0.4'}, slow); div.animate({width: '100px', opacity: '0.8', fontSize: '2em'}, slow); 높이가 300이고 Opacity 가 0.4 인 도형부터 너비가 300px 인 도형 ... 으로 4변 변합니다. Opacity는 투명도를 나타냅니다. 0이 투명이고 1은 원안입니다. div.animate({width: '300px', opacity: '0.8', fontSize: '4em'}, slow); fontSize:‘4em’ 은 도형이 변하는 동안 폰트의 사이즈도 변경 시켜줍니다.
  • 28. FORM!DOCTYPE html html head lang=ko meta charset=UTF-8 title폼/title /head body form method=post action=http://www.abcds.kr/study/s2.php div span아이디/span br/ input type=“text / /div div span패스워드/span br/ input type=password name=“pass / /div div span패스워드 확인/span br/ input type=password name=pass_con/ /div div span 성별 /span br/ input type=radio name=gender value=남자 checked 남자 /input input type=radio name=gender value=여자 여자 /input /div div br/ input type=checkbox name=agree value=ok 동의합니다./input /div input type=submit id=submit_button value=서버로 / /form /body /html jq5.html
  • 29. 폼은 서버로 전달 하기 입력들을 묶기위해 사용하는 장치라고 보시면 좋습니다. form/form 사이에 입력들이 위치합니다. form method=전송방법 action=“데이터를 전달 받을 서버의 주소 method 엘리먼트는 GET, POST 를 구분할 때 사용하고 form 에서는 대부분 POST 를 사용합니다. action 은 데이터를 전달 할 서버의 주소를 나타냅니다. form이 submit 되면 form /form 사이의 입력값들이 서버로 전달됩니다. FORM
  • 30. 폼검증 우리가 자바스크립트를 가장 많이 접하게 되는 곳이 폼검증 입니다. 서버에 값을 전달하기 전에 로컬에서 입력된 정보의 유효성을 검증하기 위해 사용합니다.
  • 31. 폼검증 예제1 !DOCTYPE html html head lang=ko meta charset=UTF-8 title폼검증/title script src=http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js/script /head body h2회원가입/h2 form id=join_form method=post action=http://www.abcds.kr/study/s2.php div span아이디/span br/ input type=text name=id id=id / /div div span패스워드/span br/ input type=password name=pass id=pass / /div div span패스워드 확인/span br/ input type=password name=pass_con id=pass_con/ /div div span 성별 /span br/ input type=radio name=gender value=남자 checked 남자 /input input type=radio name=gender value=여자 여자 /input /div div br/ input type=checkbox name=agree id=agree value=ok 동의합니다. /input /div input type=button id=submit_button value=서버로 / /form jq6.html
  • 32. 폼검증 예제2 script $(document).ready(function(){ $(#submit_button).click(function(){ var id = $(#id); var pass = $(#pass); var pass_con = $(#pass_con); var agree = $(#agree); if ( id.val() == ) { alert('아이디를 입력해 주세요'); id.focus(); } else if ( pass.val() == ) { alert('비밀번호를 입력해주세요'); pass.focus(); } else if ( pass_con.val() == ) { alert('확인 비밀번호를 입력해주세요'); pass_con.focus(); } else if ( agree.is(:checked) == false) { alert('동의하기 버튼을 눌러주세요.'); agree.focus(); } else { // 모두 입력 되었음 if ( pass.val() == pass_con.val() ) { // 비밀번호와 비밀번호 재입력이 같다면 alert('서버전송'); $(#join_form).submit(); } else { alert('비밀번호가 다릅니다.'); pass.focus(); } } }); }); /script /body /html jq6.html
  • 33. 폼검증 예제 .focus(); .val() var id = $(#id); var pass = $(#pass); var pass_con = $(#pass_con); var agree = $(#agree); 우선 변수에 입력오브젝트들을 저장합니다. 지정된 입력 오브젝트들로 포커스를 이동시키는 함수입니다. 오브젝트의 값을 가져오거나 저장하는 함수입니다.
  • 35. 요청 웹서버 www.dog.com 인터넷 브라우져 서버로 정보를 요청하려면 어떻게 해야할 까요? 어떻게 받을 수 있을까요. 아이디와 암호를 서버 로 전달해야지 니 아이디가 이거고 비밀 번호 니가 맞구나.
  • 36. 요청 GET, POST방식을 가장 많이 사용합니다. 클라이언트는 정보를 서버로 보냅니다. 물론 서버도 받을 준비가 되어있어야 합니다.
  • 37. GET !DOCTYPE html html head lang=ko meta charset=UTF-8 titleGET/title /head body a href=http://www.abcds.kr/study/s1.php?id=jamiepass=1234 서버에 GET 으로 데이터 전달/a /body /html jq7.html
  • 38. GET http://www.abcds.kr/study/s1.php?id=jamiepass=1234 ?id=jamiepass=1234 주소를 노출 하기 때문에 지금 처럼 아이디 패스워드를 넣는것은 안되겠죠. 보안에 문제가 있기 때문에 보안에 민감한 정보일때는 사용하지 않습니다. 서버에 보내는 쿼리(질문)입니다. ? 이 의문임을 기억하시면 좋습니다. id 가 jamie 이고 password가 1234 인 사람의 정보를 서버로 보낸다는 의미입니다.
  • 39. POST !DOCTYPE html html head lang=en meta charset=UTF-8 titlePOST/title /head body form action=http://www.abcds.kr/study/s2.php method=post input type=text name=id / input type=text name=pass / input type=submit / /form /body /html jq8.html
  • 40. POST POST 방식은 조금 다릅니다. 전달되는 데이터가 노출 되지 않고 GET보다 더 큰 용량의 정보를 전달할 수 있습니다. 보안에 민감한 정보들은 일반적으로 POST 로 넘깁니다. 대신 주소를 가질 수 없기때문에 다시 그 상황을 만들어 낼 수 없습니다. 이부분이 GET방식과 가장 다른 부분입니다. form action=“http://www.dog.com” method=“post …. /form
  • 42. AJAX Asynchronous JavaScript and XML AJAX는 서버와 통신을 할 수 없었던 자바스크립트의 단점을 보완한 기능입니다. AJAX가 나오면서 자바스크립트는 한단계 더 크게 발전을 할 수 있었습니다. 제이쿼리는 AJAX 를 하기쉽게 되어있습니다.
  • 43. JSON 사용 !DOCTYPE html html head lang=ko meta charset=UTF-8 titleJSON 사용/title script src=http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/ jquery.min.js/script /head body div buttonJSON 처리/button /div script $(document).ready(function(){ $(button).click(function(){ var data = {'name':'jamie', 'job': 'programmer', 'company': 'snowkiwi'}; // JSON alert(data.name); alert(data.job); alert(data.company); }); }); /script /body /html jq9.html
  • 44. JSON (JAVASCRIPT OBJECT NOTATION) var data = {'name':'jamie', 'job': 'programmer'}; JSON 은 하나의 데이터 형이라고 볼 수 있습니다. 데이터를 저장하고 데이터를 전달하고 교환할때 사용합니다. 자바스크립트에서 시작해서 다양한 언어에서 사용하고 있습니다. 배열과 비슷하기도 하고 다르기도 합니다. {'name':'jamie', 'job': 'programmer'} {변수명:변수값, 변수명1:변수값} 형식으로 되어있습니다. * JSON 이란? alert(data.name); alert(data.job); alert(data.company); 변수명.첨자 형태로 JSON 값에 접근합니다.
  • 45. AJAX 실습1 !DOCTYPE html html head lang=ko meta charset=UTF-8 titleAJAX 실습1/title script src=http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js/script /head body div button서버에서 가져오기/button /div div 아이디 /div div input type=text id=userid / /div div 비밀번호 /div div input type=text id=pass / /div div id=label!-- 결과가 표시됩니다. --/div jq10.html
  • 46. AJAX 실습1 script $(document).ready(function(){ $(button).click(function(){ var userid = $(#userid); var pass = $(#pass); $.ajax({ url: http://www.abcds.kr/study/s3.php, type: GET, data : { id : userid.val(), pass : pass.val() }, success: function(data) { var obj = $.parseJSON(data); $(#label).html(입력하신 아이디는 + obj.id + 이고 + 비 밀번호는 + obj.pass + 입니다. ); alert(정상적으로 로그인 되셨습니다. ); } }); }); }); /script /body /html jq10.html
  • 47. AJAX 실습 $.ajax({ url: http://www.abcds.kr/study/s3.php, type: GET, data : { id : userid.val(), pass : pass.val() }, success: function(data) { var obj = $.parseJSON(data); $(#label).html(입력하신 아이디는 + obj.id + 이고 + 비밀번호는 + obj.pass + 입니다. ); alert(정상적으로 로그인 되셨습니다. ); } }); $.ajax({ }); 블록 속에 AJAX 에 관련된 속성들이 들어갑니다. URL 속성은 서버의 URL 을 나타냅니다. type 은 GET, POST 느냐를 구분합니다. data 속의 데이터들은 서버에 전달될 파라미터 들입니다. ?id=idpass=pass 라고 보시면 이해하기 편하실겁니다. 이렇게 요청을 해서 성공하면 json 형태로 서버에서 값을 보내줍니다. 이 데이터는 바로 사용할 수 없 고 var obj = $.parseJSON(data); 형식으로 자바스크립트에서 사용할 수 있는 값으로 변환해줘야 합 니다. obj.id 는 서버에서 넘겨진 { “id” : id } 를 의미합니다.
  • 48. QA
  • 49. 예고. JQUERY ajax 상세, ajax를 이용한 상품 검색 프로그램 개발