AJAX가 뭐지, 정말?
프로젝트에서 AJAX를 사용해야 하는데 어디서부터 시작해야 할지 모르겠습니다.누가 좀 도와주시겠습니까?
비동기 자바스크립트와 Xml.HTTP를 통해 웹 브라우저와 서버 간의 양방향, 스크립트 기반 통신을 달성하기 위한 기술.
참고 항목:
편집: Nosredna가 지적한 대로, XML 대신 JSON이 자주 사용됩니다.
대략적인 영어 개념:
웹 페이지가 있습니다.일부 이벤트(버튼 누르기 또는 다른 형태의 이벤트일 수 있음, 또는 타이머에 의해 트리거된 것일 수 있음)가 발생하고 서버에 새로운 정보(예를 들어 GOOG 스톡의 최신 값)를 요청하는 JavaScript 코드를 트리거합니다.
서버에는 전달한 정보를 수집하고 일부 정보를 다시 전송하는 코드 조각이 있습니다.그것은 서버가 보통 가지고 있는 페이지 서비스 작업과는 다릅니다.
서버가 응답할 때 서버에 대한 자바스크립트 호출에서 지정한 콜백 함수가 서버의 정보와 함께 호출됩니다.자바스크립트 코드는 GOOG 주식 차트 같은 것을 업데이트하는 데 그 정보를 사용합니다.
클리너와 혼동하지 않도록, 기술 용어인 AJAX는 XML과 자바스크립트를 사용하여 서버 사이드 코드에 비동기 호출을 하는 기술로서 프레임워크 또는 더 잘 명시된 기술을 정말로 설명하고 있습니다.
위의 많은 샘플은 모든 XML 요청 개체를 만드는 방법을 보여주지만, Microsoft for ASP의 AJAX Control Toolkit을 살펴보시면 됩니다.NET 애플리케이션이나 jQuery를 사용하면 작업하기가 쉬워집니다.
jQuery 샘플(jQuery 사이트에서):
코드가 맞으면, 어떤 것들은.php 파일은 이름과 위치값을 전달하며 히트합니다.
<script type="javascript">
function saveDataAjax(){
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
}
</script>
<input type="submit" onClick="saveDataAjax();" value="submit" />
유행어의 핵심은 다음과 같습니다.
(배경에서) 비동기 HTTP 요청을 위해 자바스크립트를 사용합니다.
콘텐츠가 도착하면 보통 약간의 논리를 수행한 다음 DOM 트리를 조작하여 페이지의 모양을 업데이트하는 동작을 수행합니다. 즉, 새로운 HTML 요소를 삽입하고 일부 HTML 요소를 삭제하는 등입니다.
AJAX의 X는 XML을 의미하지만 무관합니다.XML은 서버가 전송하는 데이터를 포맷하는 여러 가지 방법 중 하나일 뿐입니다.JSON이 훨씬 더 나은 대안(IMNSHO)입니다.또한 서버는 평문이나 일반 html만 보낼 수 있습니다.
여기서 키워드는 비동기 요청입니다.브라우저가 페이지를 다시 로드할 필요 없이 백그라운드에서 발생하는 요청입니다.
프래그머티즘 아약스 책에서:
아약스란?
아약스는 원라이너로 증류하기 힘든 맹수입니다.이것이 그렇게 어려운 이유는 이것에 양면성이 있기 때문입니다.
- 아약스는 기술의 집합으로 볼 수 있습니다.
- Ajax는 아키텍처로 볼 수 있습니다.
Ajax: 비동기 자바스크립트 및 XML
아약스라는 이름은 브라우저와 서버 사이의 비동기 통신 채널, 자바스크립트, XML을 지원하는 기술들의 번들에서 비롯되었습니다. 이것이 fi화 해제되었을 때, 이것은 다음과 같이 구상되었습니다.
- XHTML과 CSS를 이용한 표준 기반 프레젠테이션
- 브라우저의 DOM(DocumentObject Model)을 사용한 동적 표시 및 상호 작용
- XML과 XSLT를 이용한 데이터 교환 및 조작
- XMLHtpRequest 또는 XMLHTTP를 사용한 비동기식 데이터 검색(Microsoft에서)
- 모든 것을 하나로 묶는 자바스크립트
이러한 가능한 기술을 사용하여 개발하는 것이 일반적이지만 보상보다는 문제가 빠르게 발생할 수 있습니다.
이런 이유로 아약스에게 더 중요한 디 fi네이션은
아약스: 건축
Ajax의 흥미로운 발전은 웹 애플리케이션을 설계하는 방법에 있습니다.first의 기존 웹 아키텍처를 살펴보겠습니다.
- 아이템 보기, 아이템 구매, 체크아웃 등 애플리케이션의 모든 이벤트에 대한 페이지를 fi합니다.
- 각 이벤트 또는 작업은 브라우저에 전체 페이지를 반환합니다.
- 해당 페이지가 사용자에게 렌더링됩니다.
지금 우리는 이것이 당연한 것 같습니다.웹이 애플리케이션에 관한 것이 아니었기 때문에 웹의 초기에는 말이 되었습니다.웹은 문서 저장소로 시작했습니다. 문서 간에 임시 연결 방식으로 간단히 연결할 수 있는 세계였습니다.이는 문서와 데이터 공유에 관한 것이지, 의미 있는 의미에서의 상호작용성에 관한 것입니다.
풍부한 데스크톱 애플리케이션을 잠시 상상해 보십시오.클릭할 때마다 응용프로그램 화면의 모든 구성요소가 처음부터 다시 그려질 경우 어떻게 생각할지 상상해 보십시오.좀 미친 것 같지 않아요?인터넷에서는 아약스가 오기 전까지 우리가 살았던 세상이었습니다.
Ajax는 새로운 아키텍처입니다.이 아키텍처의 중요한 부분은 다음과 같습니다.
소규모 서버측 이벤트:이제 웹 응용프로그램의 구성요소는 서버에 작은 요청을 할 수 있고, 정보를 얻을 수 있으며, DOM을 변경하여 표시되는 페이지를 조정할 수 있습니다.전체 페이지 새로 고침이 없습니다.
비동기: 서버에 다시 게시된 요청으로 인해 브라우저가 차단되지 않습니다.사용자는 응용프로그램의 다른 부분을 계속 사용할 수 있으며 UI를 업데이트하여 요청이 발생하고 있음을 사용자에게 알릴 수 있습니다.
원하는 항목:우리는 사용자가 하는 거의 모든 것을 바탕으로 서버와 상호작용할 수 있습니다.현대 브라우저는 마우스 오버, 마우스 클릭, 키 누르기 등 운영 체제와 동일한 사용자 이벤트의 대부분을 트랩합니다.모든 사용자 이벤트가 비동기 요청을 야기할 수 있습니다.
이 모든 것이 훌륭할 것 같군요, 그렇죠?하지만 이 변화로 우리는 조심해야 합니다.웹의 가장 위대한 점 중 하나는 누구나 웹을 사용할 수 있다는 것입니다.단순한 의미론을 갖는 것이 그것을 가능하게 합니다.우리가 너무 무리하면, 새로운 UI 추상화로 사용자들을 놀라게 할 수도 있습니다.이는 플래시 UI에 대한 일반적인 불만 사항으로, 사용자는 유용한 결과를 얻기 위해 새로운 기호, 은유 및 필요한 작업에 직면하게 됩니다.
가장 일반적으로 브라우저에서 JavaScript*를 통해 XMLHttpRequest 개체를 사용하는 것을 말합니다.
질문하는 사람에 따라 브라우저에 URL을 입력하는 것 외에 HTTP를 통한 거의 모든 유형의 클라이언트/서버 통신을 설명하는 데 사용될 수 있습니다.
*jQuery는 브라우저 간 차이 등을 처리하기 위한 멋진 포장지 코드를 제공합니다.
아약스는 약간 잘못된 이름입니다.위키 기사 인용하기
이름에도 불구하고 자바스크립트와 XML의 사용은 실제로 필요하지 않으며 요청이 비동기적일 필요도 없습니다.
반면에 지금 대부분의 사람들은 "ajax"를 어떤 유형이든
백그라운드에서 서버와 통신하는 웹 응용 프로그램
http://www.w3schools.com/Ajax/Default.Asp
시작하기 좋은 장소입니다.이것은 당신의 모든 질문에 대답해 줄 것입니다.
그 용어를 만든 사람으로부터 - http://adaptivepath.com/ideas/essays/archives/000385.php
"Ajax"는 잘 붙지 않던 오래된 용어인 "DHTML"을 대체하기 위해 지난 2005년에 도입된 성공적인 마케팅 용어입니다.오늘날 "Ajax"는 새로운 단어인 "HTML5"가 등장함에 따라 역사의 일부가 되었습니다.여전히 "HTML5"는 원래의 "DHTML"과 거의 같습니다.
Ajax는 "애플리케이션 개발의 새로운 접근법"이라고도 불리는데, 처음에는 서버에 웹 페이지를 만들었지만 나중에는 데이터나 부분 콘텐츠가 백그라운드로 서버에 전달되면서 클라이언트에서 업데이트가 진행되고 있습니다.
이것이 분명해지길 바랍니다.
덧붙이자면..문제와 관련이 없을 수도 있습니다.비록, AJAX는 그들의 브라우저 이메일에서 Gmail에 의해 유명해졌습니다.AJAX의 공로는 마이크로소프트사에 있습니다.그들은 AJAX라는 것을 만들었습니다.
jQuery를 시작하는 가장 빠르고 쉬운 방법은 다음과 같습니다.
http://docs.jquery.com/Ajax/jQuery.ajax#examples
AJAX는 비동기 자바스크립트와 XML을 의미하지만, 더 이상 XML 데이터를 항상 다루는 것은 아닙니다.기본적으로 클라이언트에서 실행되는 자바스크립트를 통해 XMLHttpRequest 개체를 사용하여 웹 요청을 하고 페이지 새로 고침 없이 페이지 상태를 업데이트하는 데 사용하는 정보를 가져오는 것으로 요약됩니다.
운영 수준 애플리케이션에서 사용하기 전에 베어본 Ajax를 사용하여 http://www.w3schools.com/Ajax/Default.asp 과 같은 비동기 요청을 하는 방법을 보여주는 기본 튜토리얼부터 시작합니다.
응용 프로그램에서 사용할 때 다양한 브라우저 간의 차이를 추상화하고 요청이 반환된 후 페이지를 쉽게 조작할 수 있도록 하는 일반적인 자바스크립트 프레임워크 중 하나를 조사하는 것이 훨씬 좋습니다.저는 개인적으로 http://www.jquery.com/ 을 추천합니다.
첫 번째 AJAX 레퍼런스로 Head First AJAX를 읽었고, AJAX에 대한 간결하고 실용적인 개요를 제공하는 것을 발견했습니다.
기존에 알려진 기술을 창의적으로 활용하는 것.브라우저 측 스크립팅과 서버의 데이터에 대한 프로그램 방식 접근은 모두 이전에 알려진 바 있습니다.AJAX에서는 이전에 알려진 기술의 새로운 응용 프로그램을 가능하게 하는 혁신적인 사용을 위해 통합되었습니다.REST는 비슷한 종류의 진보로 생각됩니다.
AJAX는 매우 간단합니다. 어떤 사람은 페이지를 다시 로드하지 않고도 서버에 무언가를 보내고 서버로부터 무언가를 받을 수 있다면 멋질 것이라고 생각했습니다.
AJAX는 혁명이 아니라 단순한 것에 대한 이름일 뿐입니다. 웹 페이지는 리로더가 되지 않고 서버에 요청을 보낼 수 있습니다. 여기에 비동기적인 것들이 있을 뿐입니다.
작업 없이 웹 페이지에 AJAX 컨트롤을 추가할 수 있습니다. Visual Studio로 드래그하기만 하면 됩니다.관리자를 추가해야 할 수도 있지만, 이는 단순히 드래그 앤 드롭 작업일 뿐입니다.
그러나 주의: 악성 웹 브라우저는 보통 IE와 같은 AJAX 언어를 사용하지 않습니다.
:)
AJAX는 브라우저에 전체 페이지를 다시 로드할 필요성과 함께 컨텐츠의 일부를 새로 고칠 수 있는 기능을 제공하는 것을 의미합니다.많은 사람들이 말했듯이, 그것을 구현하기 위해서 XML이나 심지어 자바스크립트도 필요하지 않습니다.사실 초창기에는 VBScript와 Jscript로 완성되었고 DHTML이라고 불렸습니다. Jesse James Garrett가 AJAX라는 용어를 발명했을지 모르지만, 그 뒤에 그 개념을 만든 것은 마이크로소프트였습니다.
이 소식통에 따르면 마이크로소프트는 1999년에 이 기술을 시작했지만, 저는 이 기술의 탄생 시기를 더 앞당길 것이라고 합니다.이 Wired 기사는 이 기술이 90년대 후반에 있었던 날짜에 더 정확할 것이며, 대부분은 1997년에 시작된 마이크로소프트사의 Michael Wallent가 작성한 MSDN DHTML Dude 칼럼의 옛날 기사에서 나온 것입니다.http://channel9.msdn.com/posts/Charles/Michael-Wallent-Advent-and-Evolution-of-WPF/ Megan은 지금도 Microsoft에서 일하는 중인데, ActiveX를 대신하는 Silverlight 팀에서 일하고 있습니다.
다시 아약스로 돌아가서...Jesse James Garrett가 2005년에 돌아왔을 때 그는 주로 자바스크립트 코드 내에서 XMLHTTPRequest의 사용과 약간의 소금에 대해 이야기하고 있었습니다.그것은 나중에 많은 사람들이 그것이 무엇인지 전혀 몰랐음에도 불구하고 사용하기 시작한 힙합 단어입니다. 그리고 그것은 정말로 새로운 것이고 힙하다고 생각했습니다. 그것은 정말로 오래된 것을 리믹스한 것이었습니다. ...요즘 여러분이 듣는 많은 힙합 노래들처럼 말이죠.
새로운 것이 아니라, 오래된 것의 새로운 버전일 뿐입니다!
"웹에서 실행할 수 있는 리치 애플리케이션을 브라우저에서 구축하기 위한 W3C 기반(자바스크립트, HTML 및 CSS) 솔루션을 제공하는 개념입니다."
다른 것들은 그저 "기술적인 세부사항"일 뿐입니다.. ;)
추신! - 놀라운 질문..!!! ;)
AJAX(비동기 자바스크립트와 XML)는 수년 동안 존재해 왔지만 최근 G메일, 구글 제안, 구글 지도와 같은 애플리케이션이 출시되기 전까지 많은 웹 개발자들에 의해 간과되었던 두 가지 강력한 브라우저 기능에 대한 새로운 용어입니다.Ajax에 대한 자세한 내용은 Ajax 튜토리얼을 참조하십시오.
AJAX = 비동기 자바스크립트 및 XML.
AJAX는 빠르고 동적인 웹 페이지를 만드는 기술입니다.
AJAX는 서버와 소량의 데이터를 뒤에서 주고받음으로써 웹 페이지를 비동기적으로 업데이트할 수 있게 해줍니다.즉, 전체 페이지를 다시 로드하지 않고도 웹 페이지의 일부를 업데이트할 수 있습니다.
AJAX를 사용하지 않는 고전적인 웹 페이지는 내용이 변경되어야 할 경우 전체 페이지를 다시 로드해야 합니다.
AJAX를 이용한 어플리케이션의 예: Google Maps, Gmail, Youtube, Facebook 탭(3개 학교에서).간단히 이해하기: 링크나 양식을 요청할 때 서버에 동기식으로 데이터를 요청합니다. 웹페이지는 현재 페이지를 파기하고 새 페이지를 재생성합니다.그러나 AJAX 브라우저를 사용하면 전체 페이지를 다시 칠하지 않고도 동일한 요청을 보낼 수 있습니다.
자바스크립트지만 작동합니다.
언급URL : https://stackoverflow.com/questions/958040/what-is-ajax-really
'programing' 카테고리의 다른 글
PowerShell에서 Byte[] 만들기 (0) | 2023.10.27 |
---|---|
AngularJS - Get 및 Post에 대한 $resource different URL (0) | 2023.10.27 |
SQL Server(2008)에서 특정 테이블을 사용하는 뷰를 찾는 방법은 무엇입니까? (0) | 2023.10.27 |
-fPIC 플래그는 오버헤드를 얼마나 추가할 수 있습니까? (0) | 2023.10.27 |
타겟팅 위치: 현재 '고임' 상태인 끈적거리는 요소 (0) | 2023.10.27 |