티스토리 뷰
1. Ajax
JavaScript의 라이브러리중 하나이며, Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자.
JavaScript를 이용해서 비동기적으로 서버와 브라우저가 데이터를 주고 받아 전체 페이지를 새로 고치지 않고 페이지의
일부를 위한 데이터를 로드하는 방식
(이 때 사용하는 API가 XMLHttpRequest. 그러나 보통 JSON을 많이 사용한다.)
<비동기(async)방식>
: 웹페이지를 리로드하지 않고 데이터를 불러오는 방식.
즉, 서버와 통신을 하면서 해당 페이지에서 다른 작업을 동시에 할 수 있다.
-
장점:
페이지 리로드의 경우, 전체 리소스를 다시 불러오면서 이미지, 스크립트 , 기타 코드 등 모두 재요청하기 때문에 불필요한 리소스 낭비와 시간 낭비가 발생한다. 그러나 비동기식 방식을 이용할 경우, 필요한 부분만 불러와 사용하기 때문에 효율적으로 리소스를 사용할 수 있고, 시간도 아낄 수 있다.
2. jQuery & Ajax
Ajax를 이용하여 개발을 손쉽게 할 수 있도록 미리 여러 기능을 포함해 놓은 개발 환경을 Ajax 프레임워크라고 한다.
여러 Ajax 프레임워크 중 현재 가장 널리 사용되고 있는 것은 jQuery 다. jQuery 로 Ajax 를 사용하게 되면 브라우저 들간의
차이점을 jQuery 가 알아서 처리해준다는 장점이 있다.
jQuery는 Ajax와 관련해서 많은 API를 제공하는데 그 중에서 가장 중요한 API는 $.ajax
이다.
$.ajax([settings]) //비동기식 Http request를 수행
//settings는 Ajax 통신을 위한 옵션을 담고 있는 객체가 들어간다.
jQuery 예제
$(document).ready(function(){
$(".heart").click(function(){
$.ajax({
url: "{% url 'example' %}" // 요청을 보낼 URL 주소. 기본값은 현재 URL 주소
data: {'data': 'test'}, // HTTP 요청과 함께 서버로 전송할 데이터
dataType: "json", // 서버에서 보내줄 데이터 형식
// (생략하면 요청한 자료에 맞게 자동으로 형식이 지정 됨)
type: "POST", // HTTP 요청 방식
success: function(response) { // Ajax로 통신이 정상적으로 이뤄지는 경우 실행할 함수
alert("Success");
},
error: function(xhr) { // Ajax로 통신이 실패할 경우 실행할 함수
alert("Error");
}
});
});
});
이 외에도 여러가지 옵션이 있다.(참고)
서버(Django) 측 예제
def exampleView(request):
data = request.POST.get('data')
# 방법 1
return HttpResponse(json.dumps({'result': 'success',}), content_type="application/json")
# 방법 2
responseData = {
'result': 'success',
}
return JsonResponse(responseData)
ajax 옵션 중 dataType 옵션을 json 으로 지정했기 때문에 서버에서 데이터를 보내줄 때 json 형식으로 변환하여
돌려줘야 한다.
참고 자료
[Ajax] Ajax란 무엇인가?
▶ Ajax란? Ajax는 JavaScript의 라이브러리중 하나이며 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자입니다. 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새..
coding-factory.tistory.com
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
jQuery Ajax - 생활코딩
jQuery이용해서 Ajax를 사용하게 되면 많은 이점이 있는데 그 중의 하나가 크로스브라우징의 문제를 jQuery가 알아서 해결해준다는 것이다. 뿐만 아니라 여러가지 편리한 기능들을 제공한다. 이번 시간에는 jQuery를 이용해서 Ajax 통신을 하는 법을 알아보자. jQuery는 Ajax와 관련해서 많은 API를 제공한다. http://api.jquery.com/category/ajax/ 그 중에서 가장 중요한 API는 $.ajax이다. $.ajax
opentutorials.org
[Ajax-JQuery] 입력값에 대한 결과 실시간 처리 하기 - 장고(Django)환경에서 JQuery와 Ajax 사용
장고(Django) 환경의 HTML페이지에서 값을 입력 받아, ajax로 서버로 보내면 json타입으로 결과를 받아 실시간으로 화면에 보여주는 기능에 대한 내용입니다. 다른 환경이나 언어라 하더라도 내용을 이해하시면 응..
kthan.tistory.com
- Total
- Today
- Yesterday
- Django 인스타그램
- MySQL
- Django 프로젝트 생성
- Django 북마크
- Django 팔로우
- Django 어플리케이션
- Django application
- python
- 장고
- Redis Cache
- query parameter
- java
- Django 검색
- 파이썬
- Django 비밀번호 수정
- Django 컬렉션
- Django 로그아웃
- 서점 어플리케이션
- Django 회원 정보 수정
- Django User
- Django Instagram
- Django
- Django 회원가입
- Django 좋아요
- Django 업로드
- Django 댓글
- Django 로그인
- 북마크 어플리케이션
- Django 해시태그
- Redis
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |