일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 함수
- Pwndbg
- 백준 파이썬
- 포인터
- 백준 알고리즘
- htmlspecialchars
- IF문
- jQuery
- python
- property
- object
- suninatas 풀이
- 사칙연산
- github
- xss game
- 배열
- element 조회
- document
- 메소드
- blind sql injection
- xss game 풀이
- sql injection
- 객체
- 김성엽 대표님
- 파이썬
- 자바스크립트
- 조건문
- window
- burp suite
- lord of sql injection
- Today
- Total
power-girl0-0
jQuery Ajax 본문
생활코딩 웹브라우저 javascript를 참고하여 공부하였습니다.
스스로 공부한 것을 정리하고 복습하기 위한 목적으로 작성하였습니다.
( 출처 : https://opentutorials.org/course/743inf.run/pBzy )
jQuery이용해서 Ajax를 사용하게 되면 많은 이점이 있는데 그 중의 하나가 크로스브라우징의 문제를 jQuery가 알아서 해결해준다는 것이다.
jQuery는 Ajax와 관련해서 많은 API를 제공한다.
http://api.jquery.com/category/ajax/
$.ajax
http://api.jquery.com/jQuery.ajax/
$.ajax의 문법
jQuery.ajax( [settings ] )
setting는 Ajax 통신을 위한 옵션을 담고 있는 객체가 들어간다.
주요 옵션들은 아래와 같다.
data
: 서버로 데이터를 전송할 때 이 옵션을 사용한다.
dataType
: 서버측에서 전송한 데이터를 어떤 형식의 데이터로 해석할 것인가를 지정한다.
값으로 올 수 있는 것은 xml, json, script, html이다. 형식을 지정하지 않으면 jQuery가 알아서 판단한다.
success
: 성공했을 때 호출할 콜백을 지정한다.
Function( PlainObject data, String textStatus, jqXHR jqXHR )
type
: 데이터를 전송하는 방법을 지정한다. get, post를 사용할 수 있다.
아래 예제는 Ajax 수업의 예제를 JQuery화한 것이다.
time.php
<?php $d1 = new DateTime; $d1->setTimezone(new DateTimezone("asia/seoul")); echo $d1->format('H:i:s'); ?>
demo1.html
<p>time : <span id="time"></span></p> <input type="button" id="execute" value="execute" /> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <script> $('#execute').click(function(){ $.ajax({ url:'./time.php', success:function(data){ $('#time').append(data); } }) }) </script>
XMLHttpRequest에 비해서 코드가 훨씬 간결해진 것을 확인할 수 있다.
POST 방식
POST 방식으로 통신을 할 때는 아래와 같이 처리한다.
time2.php
<?php $d1 = new DateTime; $d1->setTimezone(new DateTimezone($_POST['timezone'])); echo $d1->format($_POST['format']); ?>
demo2.html
<p>time : <span id="time"></span></p> <form> <select name="timezone"> <option value="Asia/Seoul">asia/seoul</option> <option value="America/New_York">America/New_York</option> </select> <select name="format"> <option value="Y-m-d H:i:s">Y-m-d H:i:s</option> <option value="Y-m-d">Y-m-d</option> </select> </form> <input type="button" id="execute" value="execute" /> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <script> $('#execute').click(function(){ $.ajax({ url:'./time2.php', type:'post', data:$('form').serialize(), success:function(data){ $('#time').text(data); } }) }) </script>
아래 코드는 form 태그의 정보를 값의이름=값의내용&값 의 형식으로 바꿔준다.
data:$('form').serialize(),
JSON 처리
$.ajax를 이용해서 JSON을 처리한 예제이다.
time3.php
<?php $timezones = ["Asia/Seoul", "America/New_York"]; echo json_encode($timezones); ?>
demo3.html
<p id="timezones"></p> <input type="button" id="execute" value="execute" /> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <script> $('#execute').click(function(){ $.ajax({ url:'./time3.php', dataType:'json', success:function(data){ var str = ''; for(var name in data){ str += '<li>'+data[name]+'</li>'; } $('#timezones').html('<ul>'+str+'</ul>'); } }) }) </script>
'언어 > Javascript' 카테고리의 다른 글
ES6 : 문자열 표현 (0) | 2021.02.15 |
---|---|
Youtube 재생시간 구하기 (0) | 2021.02.11 |
JSON (0) | 2021.02.10 |
Ajax (XMLHttpRequest) (0) | 2021.02.10 |
on API 사용법 (0) | 2021.02.10 |