Что такое Ajax технология и как с ней работать

안녕하세요, 이반 페트로 첸코, 전 오늘 레이아웃 아카데미의 큐레이터 당신은 아약스 같은 주제를 이해할 것입니다 기술이란 무엇인가? 무엇이 적용되고 왜 가치가 없는가? 이 기술이 레이아웃에서 자주 사용됩니다

특히 프론트 엔드 개발 사이트 양식 데이터를 보내려면 30 초 이력 아약스는 비동기 자바 스크립트와 XML입니다 이 기술은 여전히 이 용어가 처음으로 1998 년부터 알려졌다 그러나 2005 년에 공개적으로 사용됨 이 기술의 붐 그러한 서비스의 출현과 관련된 jail google google과 james google for jest 다른 점은 그 시간은 반응 적이다 직관적 인 이해와 지금 우리는 너와 함께 좋은 잠을 봐 사용하는 사이트가있는 메시지 이 기술은 실제 예제와 그래서 고전적인 스프 통신 모델 계속되는 사이트 어떤 페이지로 가서 모든 조치 및 브라우저 양식 에 응답하여 서버에 요청을 보냅니다

서버가 생성하는이 요청 완전히 새로운 페이지와 보내기 우리의 브라우저는 그것을 무너 뜨릴 것이다 예를 들어 우리는 현재 디렉토리에있다 그러나 우리가 가고 싶다면 여성의 포인트 다른 디렉토리에서 장갑과 장갑을 클릭하여 이미 새로 고침 된 새 페이지 if 우리는 아약스 기술을 사용했습니다 모든 것이 다른 경우 이 기술을 먼저 사용 항목이 반복됩니다 페이지로 가서 이 페이지의 액션 왼쪽에있는 온라인 하드웨어 상점 오른쪽에있는 필터와 카탈로그를 볼 수 있습니다

상품과 만약 우리가 오른쪽에있는 필터를 선택하십시오 상품은 역동적이다 다시 부팅하지 않고 양식하기 이 페이지는 기술로 작성된 스크립트로 아약스 자바 스크립트는 정보를 바꿀 필요가있다 추가 브라우저 페이지 해당하는 것을 보냄 서버 및 서버에 대한 요청이 반환됩니다 문서의 해당 부분 만 다시 부팅하지 않아도 변경해야합니다

페이지는 가장 진부한 예입니다 설문 조사 잭은 Google 검색이며 검색어를 입력 한 다음 Google은 옵션뿐만 아니라 여전히 우리의 실수를 바로 잡습니다 혜택에 대해 이야기하고 주요 단점 장점은 절약이다 우리가 강을 운송하는 것은 아닙니다 페이지 aleshi 및 부분은 또한이다 서버로드 감소 요청은 본질적으로 적다

장점 중 하나 인터페이스 응답의 가속도 모든 것이없이 발생하기 때문에 페이지 새로 고침 및이 기술은 우리에게 거의 무제한을 준다 창조성을위한 기회의 예 당신은 그들의 풍부한와 함께 Google지도를 기억할 수있다 기회가 있지만 단점이있다 이 기술은 2017 년까지 처음 동적 다운로드 콘텐츠 검색 엔진에는 사용할 수 없습니다 아약스 요청은 매우 신뢰할 수 없다

연결이 잘못된 리드 인터넷과 동적으로 만든 페이지가 등록되지 않았습니다 브라우저 기록에서 뒤로 버튼이 작동하지 않습니다 우리의 기술 예제로 돌아 가기 뒤로 버튼을 누르면 그럼 우리는 메인 페이지로 이동합니다 사이트가 없기 때문에 필터가있는 변경 사항이 저장되지 않았습니다 에서 직접 이동하자

우리가 만드는 것에 대한 관행 HTML 문서 구조 방망이로 우리는 입력을 처방 할 것이다 우리가 될 IT 전문가 인터 쇼의 버튼 이 예제에서 우리는 우리의 주소를 함께 인쇄하십시오 수술 잭 우리 페이지 더 이상 블록이 필요합니다 그것은 모양에 놓여있을 것이다 어플라이언스 할당 마지막으로 스크립트를 연결합니다

그래서 우리의 간단한 마크 업도 준비가되었습니다 우리는 조금 필요할 것입니다 우리가 PHP로 작성한 파일 서버 이 명령은 우리의 ip 주소 이 모든 우리의 서버 파일은 준비가되어 있습니다 큰 터치로 저장되지 않습니다 폰 서버와 그것에 우리가 그것을 닫을 수 있습니다 이제는 당신을 비명을 지르는 우리 스크립트 너 자신 아약스 요청 우리는 당신이 앉아 있지 않은 쇼 쇼 버튼에 매달았다

이 이벤트는 그리고 함수 함수 ajax ground를 부어 준다 잭 스페이드 그러니 글쓰기로 나가자 스크립트 시간 함수 먼저 우리는 knits와 우리 객체의 변수 기초가되는 ajax 요청은 그것에 대한 xml http 요청 객체입니다 한 두 명만 더 이야기해라 이 객체를 넣는 초 요청 변수 날짜 객체가 인라인이므로 그것의 재산 및 방법의 몇몇이 있고 그래서 주요 방법 이 개체는 열려 낙태를 보내고 함께 작업 할 수있는 몇 가지 방법 http 헤더는 정원 요청 헤더이고 하나는 비슷한 예 즉시 분해하는 것이 더 낫습니다 즉시 우리의 요청을 펜으로 작성 연습 가장 중요한 것은 처음에는 아니다

이 방법과 혼동하지 마라 서버와 서버 사이의 연결을 엽니 다 클라이언트는 우리의 쿼리 메서드 자체가 받아들입니다 몇 가지 매개 변수가 걸립니다 7 여기에 있습니다

rl은 또한 그러한 매개 변수이다 비동기를 담당하는 추가 로그인 매개 변수 및 그러나 필요한 경우 암호 필요한 매개 변수는 오직 첫 번째 두 번째 첫 번째 매개 변수가 풍부하거나 빠르다 또는 구체적으로 이 경우 서버에 대한 요청 두 번째 매개 변수의 문제를 사용합니다 처리 명령을 받았다 예를 들어 우리의 파일과 같은 이벤트 핸들러 서버 PHP 서버 이 예제의 모든 것이 우리를위한 것입니다

필요한 매개 변수가 필요없고 요청을 보내려면 우리는 send 메소드를 사용할 필요가있다 이 메소드는 이처럼 클라이언트와 서버는 여분의 것을 가져 가라 신체 매개 변수 그러나 그는 게시물 요청에만 사용됨 이 객체는 또한 main 이 요청 상태에 포함 된 4 개의 속성 HTTP 서버 응답 코드는 0 200과 유사 할 수 있습니다 403 또는 가장 유명한 404 찾을 수 없습니다 텍스트가 포함 된 상태 텍스트 서버 응답 텍스트의 응답 설명 서버 응답 텍스트가 들어 있습니다

전류를 포함하는 판독 값 요청 상태와 데크 마크를 정렬합니다 구체적인 예도 필요하다 이 사건의 주요 사건에 대해 이야기해라 그 물체는 체코와 요청의 준비 상태를 우리가 알아낼 수없는이 순간 시간이 지나면 서버가 응답하고 이 외에도 제공되며 제비 뽑기와 같은 이벤트 진행 대성당 타임 아웃이 너무 많아서 사용하지 마라 우리가 필요로하는 것을 발견하는 새로운 사건 서버가 우리 변수를 쓰고 있다고 대답했다

그들 자신이 체코처럼 그를 매달린다 더 나아가 우리는 처음에 우리에게 조건을 씁니다 요청 상태를 알아야합니다 그들에게 우리의 객체와 readystate를 쓰십시오 우리에게이 매개 변수를 가리킬 것이다

이 음성 파라미터 (4)는 요청 데이터가 이미 켜져 있음을 의미합니다 서버는 또한 우리가 대답을 확인해야합니다 서버는 다른 암을 수행 할 수 있습니다 우리가 그를 필요로하는 지위 이 두 가지 조건이 충족되면 200과 같습니다 우리가 공연을 수행 이 경우 함수는 다음과 같이 쓸 것이다

우리 GIF에있는 우리의 주소는 나의 ip 우리가 필요로하는 모양을 써야한다 쓰기에 그냥 와서 서버가 우리에게 돌려 준 것 이제 문서를 저장하고 스크립트로서 indexhtm과 같은 마크 업을 넣고 창틀에서 사이트 재시작 우리는 우리 버튼이 시원하게 보입니다 그녀와 우리는없이 나타나서 마셔 이렇게 페이지를 다시로드하는 중입니다

간단한 방법으로 우리는 가장 쉬운 방법을 만들었습니다 서버 기술을 요청할 가치가 없다 현장에서 작업을 단순화 모든 새로운 도서관과 프레임 워크와 이제는 어떻게 보여줄 것인가? 예제로 구현 된 아약스 요청 가장 대중적인 jake 믿음 도서관 잭 신앙 그 자체가 아스날은 이미 많은 기능을 가지고 있습니다 아약스 등 모든 것이 더 쉬워진다 제이크 믿음 자체가있다

하위 수준 기능 만 아약스 – 예를 들어 내가 쓸 것이라고 우리는 단지 문서를 나눕니다 그녀는 오직 하나만 취한다 이 url의 필수 매개 변수 기본적으로이 함수에는 get 메소드가 있습니다 후에 할 때 기억해야 할 것 요청이지만 가장 간단한 예 이렇게 보일거야 이 모든 것이 죽어가는 것처럼 우리는 단지 관례에 부름 기능 그러면 알림이 표시됩니다

어떤 이유로 또한이 낮은 수준의 기능은 거대한 설정이 많이있다 당신이 그 때 당신 관심이 끌리는 경우에 양 공식에서 찾을 수있다 훨씬 더 사용하기 쉬운 문서 더 높은 준비 기능 이것을 예를 들면 jed라고 주문하십시오 그것 자체의 매개 변수를 취한다 날짜 콜백 및 데이터 유형 또는 게시물 그것의 아날로그는 포스트를 분석 할 것이다

첫 번째 매개 변수는 ural 어떤 기능을 할 것인가? 두 번째 매개 변수는 함수입니다 모든 데이터를 객체로 취한다 예를 들면 우리가 가질 커플 유닛과 포물선에 매개 변수를 준다 어느 것이 2를 줄 것인가? 세 번째 매개 변수는 사용자 정의 기능 어떤 행동을 취하다 예를 들어 필터를 통한 업데이트 제품 카탈로그 또는 다운로드 페이지 새로운 것을 만들거나 이 케이스의 요소들이 사용되었습니다 간단한 예제를 통해 섹스와 같은 기능 아래에서 함수 자체를 작성할 수 있습니다

우리는 우리의 모든 데이터를 출력 할 것입니다 어떻게 대신 사용자 우리가 할 수있는 모든 기능 필터 할 페이지 부분 표시 그런 것들과 물건들 어떻게 우리의 판타지로 제한 될 것인가? 이 기술은 볼 수 없다 이후 마스터하기가 어렵다 그것의 일을 위해 단지 4 개를 포함한다 방법 4 가지 속성이 다소 있습니다 그들 중 일부와 함께하는 사건들 그냥 잘 할 필요는 없다

실험 할 수 있고 반성과 이것에 나는 끝낼 것이다 이 비디오 마스터 새로운 기술을 잊지 마라 채널을 구독하고 좋아한다 코스에서 뵙겠습니다

AJAX

[음악 재생] DOUG LLOYD : JavaScript를 계속 탐색하면서, 정말로 다른 기술이 있습니다 더 복잡한 웹 사이트를 만들기 시작할 때 편리합니다

그리고 그것은 Ajax라고 불리는 것을 사용하고 있습니다 그래서, 지금까지 JavaScript에 대한 탐구에서, 우리는 정말 간단한 몇 가지 일을하는 것으로 제한되어 왔습니다 일러스트레이션을 위해 버튼을 클릭하는 것처럼, 뭔가가 발생합니다 어쩌면 당신의 위치에 색깔 변화, 또는 아마 어쩌면 몇 단어가 바뀐다 그러나 우리가 지금까지 해왔 던 모든 것이 고객 측면이었습니다

그것은 우리의 컴퓨터에서 모두 일어나고 있습니다 우리는 결코 바깥 세상과는 절대로 이야기하지 않습니다 그러나 우리는 외부 세계와 대화하고 웹 사이트를 변경할 수 있습니다 서버와 상호 작용하는 어떤 일이 생기면, 하지만 아마 우리 페이지 전체를 다시로드하지 않을 수도 있습니다 우리는 더 즐거운 사용자 경험을 만들고 싶습니다

Ajax를 사용하면 그렇게 할 수 있습니다 Ajax는 XML에서 Asynchronous JavaScript라고하는 것을 사용했습니다 그게 뒷전이야 그건 더 이상 부르지 않습니다 실제로 XML 대신에 가장 일반적으로 JSON을 사용합니다

그러나 Ajax는 그 기술에 매료 된 이름이었습니다 그리고 Ajax로 우리가 할 수있는 일은 기본적으로 새로 고침하는 것입니다 전체 페이지가없는 우리 페이지의 예를 들어, 운동을하는 사람, 예를 들어, 스포츠 웹 사이트에 있다면 이걸 볼 수 있습니다 현재 진행중인 게임의 점수가 업데이트되는 곳, 하지만 전체 페이지가 새로 고쳐지지 않습니다 즉, 페이지는 기본적으로 Ajax를 이용하고 있음을 의미합니다

페이지의 작은 부분 만 업데이트하면됩니다 Ajax로 할 수있는 기술은 무한하다 당신은 그것으로 많은 다른 것들을 할 수 있습니다 그리고 우리는 매우 구체적인 예에 ​​초점을 맞출 것입니다 버튼을 클릭하면 뭔가가 발생합니다

그러나 차이점은 무언가가 일어날 때입니다 우리는 서버 요청을하고 있습니다 한 페이지에서 아웃 바운드 요청을하고 있습니다 우리 기계에서만 일어나는 것이 아닙니다 그러나 예를 들어 업데이트하는 것과 같은 일을 할 수 있습니다

해당 정보 또는 이메일을 추적하는 웹 사이트의 스포츠 경기 점수 때로는 새 이메일을받을 때가 있습니다 귀하의 페이지 전체가 새로 고침되어 받은 편지함 상단에 새 이메일이 있지만 전체 페이지가 새로 고쳐지지 않습니다 그건 Ajax에서도 마찬가지입니다 그러나 끊임없이 항상 실행됩니다

그것은 기본적으로 영원히 쿼리하는 것입니다 다시 버튼과 뭔가를 클릭하는 데 집중할 것입니다 그런 일이 우리 기계의 지역에만 국한된 것이 아닙니다 그래서 이것을하기 위해서, 우리는 XMLHttpRequest라고하는 다른 특별한 종류의 JavaScript 객체 그리고 이것이하는 일은 우리가 그것을 가능하게하는 것입니다

비동기식이므로 페이지를 새로 고치는 것과 동시에 또는 페이지를로드하지만 언젠가는 여전히 페이지에있는 동안 언젠가는 페이지를로드합니다 그것이 비동기라고 할 때 우리가 의미하는 바입니다 비동기 요청을 할 수 있습니다 자세한 정보를 얻으려면 서버에 연결하십시오 다행히도 이것을 만드는 것은 실제로 매우 쉽습니다

예를 들어,이 줄은 새로운 x 총 HTTP 요청 개체를 만듭니다 이 경우에는 xhttp라고 부릅니다 그것을 JavaScript의 임의의 지역 변수에 할당하는 것입니다 일단 당신이 객체를 가지고 있다면, 일단 객체를 생성하면, 먼저해야 할 일은 onreadystatechange 동작을 정의하는 것입니다 Onreadystatechange는 말로 표현할 수 있습니다

페이지를 방문 할 때 일어나는 단계를 설명합니다 예를 들어, 너는 한 페이지에있다 페이지를 새로 고칩니다 일종의 모든 것이 비어있는 것처럼 보입니다 그런 다음 일부 데이터 채우기를 시작합니다

그리고 그것은 상쾌하게 멈추고, 당신은 갈 준비가되었습니다 그것은 일련의 다른 상태를 겪고 있습니다 요청이 전송되지 않은 상태에서 전송으로 이동합니다 요청에 대한 요청이 수신 중입니다 다시 당신에게, 그리고 요청이 완료되었습니다

그것들은 예를 들어 몇 가지 다른 상태 변화입니다 사이트를 방문 할 때 발생할 수 있습니다 그리고 그것은 또한 국가 변화의 종류가 될 것입니다 당신이 업데이트 할 때 일어날 것입니다 사이트의 작은 부분 일반적으로, 우리는 가정되는 것을 정의합니다

상태 변경이 익명의 함수를 사용할 때 발생합니다 그리고 우리는이 예를 잠깐 보게 될 것입니다 우리는 그 기능에 이름을 부여 할 필요가 없습니다 우리는 단지 언제든지 그것을하기를 원합니다 사이트 로딩 상태의 변화를 감지합니다

5 개의 다른 주들이 있습니다 그들은 0에서 4로 이동합니다 이것이 바로 readyState 속성이므로 onreadystate 변경의 일부입니다 그것은 분명히 관련이 있습니다 그리고 그것들은 제가 기본적으로 설명한 것입니다

0은 요청이 아직 초기화되지 않은 것입니다 그리고 4, 궁극적 인 목표 인 끝이다 onreadystate 상태 변경 요청 또는 Ajax 요청 readyState를 4로 가져 오는 것입니다 그 (것)들이 전부 적재했다는 것을 의미한다 잘하면, 우리가 얻은 지위는 200입니다

그것들은 우리가 정말로 신경을 쓰고있는 두 가지 것입니다 우리는 Ajax 요청이 완료되었을 때, readyState가 4이므로 데이터가 수신되었으므로, 데이터가 정상적으로 수신되었습니다 확인을 위해 HTTP 코드 200을 기억할 수 있습니다 그것은 우리가 다행스럽게도 보지 못했던 것입니다 우리는 웹 사이트에 가지 않고 웹 사이트에 가지 않고 200, 당신이 404를 얻는 것처럼, 예를 들면

그래서 우리는 궁극적으로 readyState가 4가되기를 원합니다 상태는 200이됩니다 그렇다면 사이트를 업데이트 할 수 있습니다 일단 요청이 있으면 요청을 열고 요청을 보내면됩니다 그런 다음 사이트가 새로 고침됩니다

다시 한번, 우리는 아주 구체적인 예제를 보게 될 것입니다 이것에 대해 잠깐 그래서 그것이 지금 당장 이해가되지 않는다면, 잘하면, 그것 우리가 코드를보기 시작하면 그 상호 작용이 웹 사이트에서 실제로 어떻게 일어나는지보십시오 나는 약간 다른 방법을 다시 지적하고 싶다 이를 jQuery를 사용하여 구문 적으로 수행 할 수 있습니다

그리고, 사실, 당신은 매우 일반적으로 요즘 볼 것입니다 jQuery를 사용하여 만든 Ajax 요청 우리는 명시 적으로이 자바 스크립트의 순수한 자바 스크립트 버전을 보여주고 있습니다 그냥 당신이 그것을 볼 수 있습니다 그러나 클라이언트 측 스크립팅을 위해 jQuery를 사용하는 것이 더 편할수록, 예를 들어, DOM 조작을 사용하거나 Ajax 요청을 위해, 당신은 아마도 이것의 구문을 약간 다르게 볼 수있을 것입니다

그래서 여기 JavaScript 함수를 준비, 열기, Ajax 요청을 보낸다 그래서 내가 할 첫 번째 일은 새로운 XMLHttpRequest를 생성하는 것입니다 나는 무작위 변수에 다시 할당 할 것입니다 이번에는 Ajax에 대해 aj라고 불렀습니다 그런 다음 함수를 정의 할 것입니다

readyState가 변경되면서 실행된다 따라서 readyState가 변경 될 때마다이 함수가 실행됩니다 그러나 당신이 볼 수 있듯이, 그것은 정말로 가고 있습니다 readyState가 4이고 상태가 200이면 결국 무언가를 할 수 있습니다 그렇게 될 것입니다 – 이 함수는 상태가 바뀔 때마다 실행됩니다

readyState가 4 일 때만 의미있는 일을 할 것입니다 상태는 200입니다 그리고 우리는 그 구체적인 예를 두 번째로 보게 될 것입니다 우리 사이트의 한 부분을 업데이트하려고합니다 다른 사진과 정보로

일단 이것이 끝나면 우리는 XML 요청이나 Ajax 요청을 열 것이다 이것은 이것을 수행하는 간단한 방법 일뿐입니다 기본적으로 특정 URL에 대한 GET 요청을 작성 중입니다 진정한 의미에 대해 걱정하지 마십시오 그런 다음 요청을 보냅니다

다시 말하지만, 보통 jQuery로 작성된 것을 볼 수 있습니다 순수한 JavaScript에서 그래서 당신이 그것을하는 방법에 대해 조금 배우고 싶다면, 이 URL을 여기에서 살펴볼 수 있습니다 하지만 지금은 IDE로 가서이 예제를 실제로 살펴 보겠습니다 Ajax가 서버를 요청하면, 서버는 내 컴퓨터에서 로컬로 실행되고, 페이지를 비동기 적으로 변경할 수있는 방법을 확인하십시오

따라서이 짧은 코드와 함께 제공되는 소스 코드를 다운로드하면 그 안에 indexhtml을 열면, Ajax 테스트라고 불리는 페이지를 찾을 수 있습니다 Information Go Here라는 섹션에 드롭 다운 메뉴가 있습니다 그 의미가 잠깐 보입니다 나는 아직 그걸로 팅커 칠하지 않을 것이다

우리가보기 전에 어떤 장면 뒤에 있는지 보여주고 싶습니다 그래서 여기에 그 소스 코드가 있습니다 맨 위에는 커플을로드하는 중입니다 의 [? 스크립트 ?] 내가 jQuery를로드하고 있기 때문에 jQuery를 조금만 사용합니다

너에게 그것의 조금 맛을 전하기 위하여 나는 내가 작성한 자바 스크립트를 Ajax라고 부른다 잠깐 살펴 보겠습니다 여기에 정보가 표시됩니다 우리가 방금 사이트에서보고 있었던 것은 그의 ID가 정보 인 div에 있습니다

그것은 잠시 후에 정말 중요합니다 그리고 나서 저는 두 가지 옵션이있는 양식을 가지고 있습니다 그리고 무언가가 일어날 때, 특히 가치가 변할 때, 목록에서 다른 옵션을 선택하면 이 함수, cs50info를 호출 할 것입니다 그런 다음 thisvalue 매개 변수를 전달합니다

자바 스크립트에 대한 동영상을 회상 해보십시오 이것이 사건을 스스로 가리키는 방법이라고 처음에 호출되는 JavaScript 함수를 트리거했습니다 따라서 이것은 click과는 반대로 이벤트 핸들러의 또 다른 형태입니다 변화하고 있습니다 그리고 이것이 할 일은 그것이 진행될 것입니다

어떤 옵션이 변경을 유발했는지 파악할 수 있습니다 그리고 저는 이것을 잡을 것입니다 가치, 그래서 이것은 제가 가치있는 것을 의미합니다, 나는이 정보를 얻을 것인가? 그래서 제가이 목록에서 Rob Bowden을 선택하면, 기본적으로 CS50 정보를 전달합니다 그리고 그 함수에 실제로 전달되는 값은 bowden입니다 그들은 모두 소문자입니다 – 찬, [? mailand,?] 및 [? 자 클로 바

?] 그래서 그것들은 그 CS50 info 함수에 전달 될 다른 것들입니다 CS50 정보 기능은 무엇을합니까? 이제 Ajax를 살펴 보겠습니다 js 이름이 비어 있다면 여기에 CS50 정보가 있습니다 따라서 실제 정보 중 하나를 선택하지 않았다면 옵션, 만약 내가 맨 위에 기본 옵션을 선택했다면 – 드롭 다운 사용에 익숙 할 수도 있지만, 빈 공간이 있고 실제로 뭔가를 골라야하는 곳 – 난 돌아 간다

나는 아무 것도하지 않는다 나는 아무것도 시도하지 않고 공상을하고 싶지 않다 그렇지 않으면 XMLHttpRequest를 만듭니다 우리는 잠시 전에 슬라이드에서 이것을 보았습니다 그리고 readyState가 4가 될 때까지 기다릴 함수를 정의합니다

상태는 200이됩니다 그리고 그것이있을 때, 그것이있을 때, 나는 무엇을하고 싶습니까? 나는 infodiv 내부의 HTML을 업데이트하고 싶다 이것을 설명하는 jQuery 방법입니다 이것은 jQuery의 라인입니다 나머지는 JavaScript입니다

이것은 jQuery입니다 내 Ajax 요청에서 얻은 결과로 Ajax 요청을 전적으로 아직 만들지 않았 음을 기억하십시오 오픈과 보내기로 바로 여기있을 것입니다 하지만 그렇게되면 데이터를 다시 가져올 것입니다 그리고 나는 처음부터 infodiv의 HTML이 무엇이든 업데이트 할 것입니다

여기에 정보가 들어가서 div 태그 사이에 있었던 것입니다 나는 그것을 요청할 때 무엇이든지 되돌려 줄 것입니다 그러나 나는 전체 페이지를 업데이트하지 않고 그것을 할 것입니다 나는 새로 고침을 할 것입니다, 말하자면, 바로 그 div, 페이지의 해당 섹션 그럼 내가 어떤 파일을 여는거야? 글쎄, 나는 name과

HTML에 대한 GET 요청을 보내고있다 이 이름은 값의 이름 일 뿐이며 변수는 여기서 매개 변수로 전달됩니다 그래서 그것이 바로 이름입니다 그래서 이름이 bowden이나 chan이 될 것입니다, [? mailand,?] 또는 [? 자 클로 바 ?] 그리고 분명히, 나는 그것의 끝에

HTML을 추가 할 것이다 음,이 중 하나가 어떻게 생겼습니까? 글쎄, 그것은 단지 HTML 스 니펫처럼 보입니다 내가 갖고 있지 않기 때문에 분명히 HTML이 완전히 정확하지는 않습니다 HTML 태그는 상단과 하단에 있습니다 주변에 바디 태그가 없습니다

그러나 그것은 약간의 HTML입니다 이름, 이미지 태그, 몇 가지 정보가 담긴 몇 개의 단락이 있습니다 그럼 실제로이 작업을 보면서 그것이 무엇을하는지 봅시다 그래서 지금, 나는 Ajax 테스트를 받았다 그리고 옵션을 선택하면 해당 함수를 기억하십시오

그 CS50 정보 함수가 무엇이든간에 전달되도록 실행하려고합니다 나는 선택한다 Zamyla를 선택합시다 그래서 그것이 여기에서 한 것을 주목하십시오 그것은 우리 페이지의 모든 정보에 나타났습니다

Zamyla 태그가 있습니다 그래서 잠시 ID로 다시 나타납니다 우리는 그녀의 이름, 이미지, 2014 년의 클래스, 윈스 로프 하우스 실제로 모든 정보가 여기에 있습니다 그러나 그것을 변경하면 어떻게됩니까? 내 전체 페이지를 새로 고치고 싶지는 않지만 해당 div의 내용이 변경되기를 원합니다

자, 예를 들어, Rob로 바꾸자 그리고 만약 당신이 정말로 신중하게보고, 그리고 내 컴퓨터가 좀 더 느리거나 빠르면 모든 컨텐츠를 신속하게 삭제 한 다음 다시 보게 될 것입니다 비동기 요청은 매우 빠르게 발생합니다 그래서 우리가 그것을 볼 수 있는지 보자 모든 것이 삭제 된 다음 모든 것이 삭제 된 것을 바로 눈치 챘을 것입니다

다시 왔지만 지금은 새로운 데이터가 있습니다 목록에서 새 옵션을 선택했습니다 Select Someone을 선택하면 아무 일도 일어나지 않습니다 나는 즉시 돌아 왔으므로 돌아 가지 않는다 정보는 여기에 있지만, 내가 쓸 수는 있었지만 그 기능은 다르게 수행합니다

그러나 나는이 다른 비동기 요청을 만들 수 있습니다 페이지에 표시되는 정보를 계속 업데이트 할 예정입니다 전체 페이지를 새로 고치지 않고 걱정할 부분 만 그래서 이것은 꽤 멋지다 이제는 로컬로 변경하는 것뿐만 아니라 우리 기계에서 색상과 같은 간단한 것들, 이제 아웃 바운드 요청을 서버에 보낼 수도 있습니다 또한 로컬로 실행되는 서버가 아니어도됩니다

야후 파이낸스의 정보를 소싱 할 수 있습니다 Yahoo Finance의 데이터를 비동기식으로 가져오고 싶다면 어쩌면 내가 할게 내 페이지로로드 그 정보가 끊임없이 존재해야합니다 데이터를 표시하는 다른 방법이 있기 때문에 업데이트가 발생합니다 또는 뭔가 따라서 우리가 처분 할 수있는 흥미로운 새로운 전략입니다

요청을 로컬로 보낼 수 있습니다 아웃 바운드 요청을 다른 서버로 보낼 수 있습니다 Ajax를 사용하여 더 나은 사용자 환경을 만드는 데 실제로 도움이됩니다 나는 더그 로이드입니다 이것은 CS50입니다

AJAX – Beau teaches JavaScript

Ajax는 비동기 JavaScript 및 XML의 약자로, 체크하면 업데이트 할 수 있습니다 전체 페이지를 다시로드하지 않고 웹 사이트의 일부분을 서버에 데이터를 보내고 백그라운드로 서버에 데이터를 보내려면 여기에 예제가 있습니다

여기에 HTML 코드를 설정하면 Ajax가 다운 된 Java Script가 생깁니다 여기 그리고 여기에 실제 웹 페이지가 바로 여기에 있습니다 이 변경 내용 버튼을 누르면 텍스트가 보이는 것을 보도록하겠습니다 이제 텍스트가있는 무료 코드 캠프 YouTube 채널을 구독하도록 변경되었습니다 실제로이 코드는 어디에도 없습니다

텍스트가 다른 곳에서 온 것이기 때문입니다 서버이 코딩 세부 사항을 모두 살펴볼 것이지만 처음에는 Ajax에 대한 7 가지 주요 단계에 대한 개요를 제공하므로 첫 번째 단계는 이벤트가 웹 페이지에서 발생하므로 여기에 버튼이 표시되어 있습니다 이벤트는 버튼을 눌렀을 때 두 번째 단계는 XML HTTP 요청 자바 스크립트에 의해 객체가 생성되었습니다 바로 여기에 새로운 XML HTTP가 있습니다 세 번째 단계는 xml httprequest 객체가 요청을 보내는 것입니다

이제 웹 서버가 웹 서버가있는 곳입니다 거기서 우리는이 요청을 여기 아래로 보낼 것입니다 X HTTP는 다음을 보냅니다 단계는 서버가 이제 서버에서 발생하는 요청을 처리한다는 것입니다 다섯 번째 단계에 대한 우리의 탐구는 서버가 다른 서버에서도 웹 페이지에 대한 응답으로 여섯 번째 단계는 응답은 JavaScript에 의해 읽혀집니다 그리고 여기를 보시면이 것을 설명 할 수 있습니다

자세한 내용은 잠시 후에 자세히 설명 하겠지만 응답 텍스트는 우리가 서버에서 응답을 얻는 곳은 일곱 번째 단계는 페이지 업데이트와 같은 적절한 액션이 자바 스크립트에 의해 수행되므로 이 줄에서는 자바 스크립트로 웹 사이트의 HTML을 업데이트 할 것입니다 이제이 코드를 자세히 살펴보고 실제로 이 줄은 바로 여기 실제 파일이 우리가 얻으려는 것입니다 여기 HTTP 콜론 슬래시가 CC 플래시 코드 / h X 밑줄을 깎아 낸다 예를 들어 txt 이제 우리는이 다른 일이 옳다 이 작품은 크로스 – 기원을 말합니다 지금은 이것이 서비스 인 Korres 프록시입니다

개발자는 다른 웹 사이트의 리소스에 액세스 할 수 있습니다 이전에이 권한이 없다면 일반적으로 교차 출처 오류가됩니다 이 오류는 기본적으로로드 할 수 없다고 말하는 곳에서 발생합니다 해당 파일에 액세스 제어 원점 헤더가 없다고 표시되면 요청 된 리소스는 기본적으로 코드 핀에있는 보안 기능입니다 지금 당장은 다른 웹 서버에서 파일을 가져올 수 없습니다

이 같은 프록시를 사용하는 기본적인 단기 솔루션입니다 단기적인 해결책 그것은 당신이 일을 밖으로 시도하려는 경우 그냥 빠른 수정 장기적인 해결책은 단점에 대한 서버의 htx 파일을 업데이 트하는 것입니다 원산지 요구를 허용하는 SEC 그러면 요청없이이 요청을 할 수 있습니다 처음에 프록시를 추가하자이 코드의 나머지 부분으로 돌아가 보자

여기에 우선 HTML의 버튼을 클릭하면 볼 수 있습니다 이 함수를 호출하면 바로 자바 스크립트에서 올바르게 처리됩니다 지금 자바 스크립트에서이 객체를 처리 할 XML HTTP 요청을 만듭니다 우리는이 속성을 사용할 것입니다 우리는이 속성을 설정할 것입니다

onreadystatechange 속성이 속성은 호출 할 함수를 정의합니다 준비 상태 속성이 변경되면 준비 상태 속성을 볼 수 있습니다 바로 여기에 우리는 목록 준비 상태를 사용할 준비 상태 속성을 사용할 것입니다 4 개의 숫자 중 하나가 될 것입니다 요청은 하나의 서버를 초기화하지 않았습니다

연결 요청 두 개가 세 가지 처리 요청을 받음 요청이 완료되고 응답이 준비되었으므로 다음 줄로갑니다 이 rate 상태가 4와 같으면 요청이 완료되었음을 의미합니다 응답이 준비되어 있고 상태가 200과 같습니다 이제이 상태는 HTML 응답이므로 200은 괜찮음을 의미하고 또 다른 공통 상태는 404를 의미합니다 찾을 수 없으므로 200은 자원 자원이 서버에서 발견되었음을 의미하고 우리가 아직 얻지 못했던 자원은 무엇입니까?하지만 이것은 우리가 요청에 대한 좋은 반응을 얻었고 우리가 할 수있는 것으로 밝혀졌습니다

응답이있는 무언가가이 줄로 바로 연결되어 있습니다 약 웹 사이트 문서에 점을 찍으려면 ID로 요소를 가져오고 아이디어는 바로 여기입니다 ID는 데모와 같습니다 우리는 innerhtml을 설정합니다 ID 데모가있는 태그와 우리가 간다고하는 태그 사이에서 HTML을 변경합니다 이 텍스트를이 도트 응답 텍스트로 설정하십시오 응답 텍스트는 서버에서 문자열로 데이터를 보내면이 점 응답을 사용할 수 있습니다

우리가 XML을 원한다면 XML을 다시 보겠습니다 다시 설정해 보겠습니다 내가 재설정 할 것입니다 이것은 Ajax가 텍스트 클릭 변경 내용을 변경하도록하는 것으로 시작한 다음 우리는 방금 다른 서버에서이 정보를 얻었고 여기로 내려 가면 open 함수는 우리가 요청한 파일이나 리소스를 지정하는 곳입니다 하지만 실제로는 요청하지 않습니다

여기서 우리는 사용할 수 있습니다 많은 양의 데이터를 서버로 보내거나 사용자 입력을 보내는 경우 당신은 여기에 게시물을 사용해야하지만 그렇지 않으면 당신은 일반적으로 사용해야 get 및 우리는 실제로 우리가 얻고 자하는 웹 사이트에있는 자원을 어디에 두 었는지 이 마지막 사실은 요청의 유무에 대한 것입니다 비동기 적이므로 항상 비동기를 원한다 그래서 실행할 수있다 서버 응답을 기다리는 동안 다른 스크립트가 바로 여기이 마지막 문제입니다

X HTTP 도트 전송 함수는 실제로 서버에 요청을 보냅니다 그래서 이것은 우리가 이전에했던 일들을 X HTTP 객체를 호출 한 다음 요청이 호출 한 준비 상태를 변경하면 이 함수는 아약스에 대한 간단한 소개였습니다 내 이름을 보아 주셔서 감사합니다 설명에있는 링크를 확인하십시오 beau Carnes는 구독하고 좋은 것을 위해 코드를 사용하는 것을 잊지 않습니다

Error Handling with NY Times – Intro to AJAX

불행히도 요청은 가끔 실패하기도 합니다 실패하는 이유에는 여러 가지가 있죠 따라서 AJAX 요청이 잘 작동하지 않을 때 사이트가 완전히 죽지 않도록 에러들을 미리 고려해서 처리해주는 것이 중요합니다 jQuery에는 error 메소드가 있습니다 이걸로 우리가 만들었던 AJAX 요청을 수정할 수 있죠 이 메소드는 AJAX 요청이 어떤 이유로든 요청이 실패했을 때 효과를 일으키게 됩니다 이번 퀴즈는 뉴욕 타임스 요청에 대한 에러 처리하기입니다 여러분의 앱은 요청이 실패했을 때 "뉴욕 타임스 기사가 로드될 수 없습니다"를 표시해줘야 합니다 에러 처리를 테스트하는 방법은 여러 가지가 있습니다 간단하게는 웹사이트를 띄운 다음 인터넷을 끊어버리면 되죠 그럼 요청은 반드시 실패하게 될 것입니다 또는 URL을 고의로 엉터리로 바꿀 수도 있습니다 이 경우에 nyasdftimes

com은 당연히 여러분이 찾는 사이트가 아니므로 실패할 수밖에 없겠죠 생각대로 잘 된다면 아 "생각대로 안 된다면"이라 해야 할까요 여러분은 페이지에 이런 메시지가 뜨는 것을 볼 수 있을 것입니다 강의 노트에 있는 링크를 따라가 error 메소드에 대해서 더 알아보세요 AJAX 요청의 끝부분에 error 메소드를 체이닝해보세요 메소드 안에는 요청이 실패할 경우 처리해줘야 할 내용이 들어가야겠죠 완료하면 박스를 체크하세요

Ajax using jQuery CORS 1

안녕하세요이 동영상에서는 공개 API를 호출하는 방법을 살펴 보겠습니다

Flickr 또는 애플리케이션에서 노출 된 다른 API를 알고 있기 때문에 이것은 응용 프로그램이 될 수있는 두 개의 서로 다른 도메인 사이에 있기 때문에 도메인 a와 Flickr는 자체 도메인 flickrcom에 있습니다 Ajax 메소드에서 다루어야 할 몇 가지 문제가있다 당신에게 좋은 방법은 달러 Ajax 일 것입니다 당신은 AB jet과 post를 할 수 있습니다

이 방법을 사용하면 설정할 수있는 더 많은 공개 매개 변수가 있습니다 이전에 사용한 게이트 및 포스트 메서드에서 사용할 수 있습니다 달러를 얻고 달러를 얻은 달러는 이것에 대한 속기 방법과 더 비슷합니다 아약스 메소드는 아약스 메소드가 더 많이 알고 있으므로 우리가 설정할 수 있습니다 이 두 가지 방법으로는 할 수없는 추가 매개 변수는 무엇입니까? 이 응용 프로그램입니다

그래서 HTML 파일과 같이 입력 버튼이 있습니다 div 여기있는 Flickr에 대해 우리는 Flickr에서 피드를 만들고 싶습니다 그래서 우리는 사진 검색 그래서 여기에 텍스트 상자가 있고 실제로 버튼이 있습니다 데이터를 캡처하여 Flickr로 보내면됩니다 여기에서 우리는 결과와 나는 다른 공개 API를 위해 하나 더 가지고 있습니다

우리가 작업 할 것입니다 그래서 저는 JavaScript 파일을 가지고 있습니다 버튼 클릭 기능과 버튼 플립 기능이 있으므로 첫번째 것은 Flickr를위한 것입니다 그래서 내가 원하는 것은 주류를 AAP 공개 피드를 누른 다음 검색 문자열 I에 대한 사진 목록을 가져오고 싶습니다 내 입력 상자에 지정하여 코드이므로이 시간의 데이터를 원한다 첫 번째 사진을 캡처하여 저장하고 준비하십시오

그리고 나서 우리는 우리가 그렇게 할 Ajax를 할 수 있습니다 그래서이 API에 대해 생각해 봅시다 어떻게하면 API 사용법을 알 수 있습니까? API를 호출하여 Flickr에 들어가서 Flickr 공용 API라고 말하면됩니다 첫 번째 링크는 당신에게 술을 가져다 주며 그래서 당신이 부르는 URL입니다 이것들은 여러분이 보내주는 매개 변수 중 일부입니다

그래서이 작은 것이 목록을 반환합니다 몇 가지 기준에 따라 공개 콘텐츠를 검토 할 수 있습니다 대부분의 경우 URL만으로는 충분하지 않습니다 다른 매개 변수가 있으므로이 두 ID는 우리가 특정 ID에서 깜박이고 그 태그를 사용하지 않을 것입니다 피드를 필터링 할 태그 목록이므로 this는 중요한 매개 변수입니다

우리는 개나 당근 또는 모양과 같은 태그를 말하는 것과 같습니다 검색어가 될 것입니다 그리고 우리는 이미 검색 용어 눈을 가지고 좋습니다 태그 매개 변수를 전달한 다음 다른 태그를 보겠습니다 거기 형식의 형식을 피드 그래서 만약 우리 가이 사람을 호출했다 기본값을 볼 수있다 XML 우리는 JSON을 원합니다 그래서 우리가 신경 쓰는 또 다른 것입니다

사람을 봅니다 JSON 형식을 사용해도 좋습니다 JSON 피드를 반환합니다 이제는 두 가지 매개 변수가 있습니다 우리가 할 일은 Ajax 메서드에서 각각의 행위를 호출하는 것입니다

첫 번째 매개 변수는 모두 두 번째 매개 변수가됩니다 리사가 될 데이터 타입이 될 것입니다 세 번째 매개 변수는 차 유형입니다 우리의 게시물은 콘텐츠 유형 및 모든 것이 성공적이면이 함수를 호출하기를 원한다 이것이 핵심이므로 이것이 우리가 기억하고있는 매개 변수입니다 그 세 번째는 풀 도메인 요청이므로 간단한 것이 아니므로 나는 내 것으로 들어갑니다 나는 나의 수색 기간 농장이라고 칭하고 Flickr 사진을 클릭하십시오

콘솔로 가서 무슨 일이 일어나고 있는지 살펴보고 여기서 오류가 발생했습니다 우리의 요청이 코스 정책에 의해 막혔다 고 말하는 것 코라의 정책 수단 교차 도메인은 허용되는 항목과 허용되지 않는 항목을 요청합니다 우리는 당신이 보낼 수없는 두 시스템 사이에 JSON을 보내고 있습니다 스크립트하지만 JSON이 아니기 때문에 물결 모양이 극복됩니다 우리는 JSON을 사용해야 만한다

JSONP는 ASA가 아니라 JSA가 더 좋다 괜찮아요 그래서 몇 단계 만 거쳐야합니다 JSON P로 요청하십시오 첫 번째 것은 여기에있을 것이므로 J로 부릅니다

잔디 – 모든 다시 그리고 당신은 물음표로 그것을 주어야하고 그것은 무엇을 알려줍니다 JSON P를 반환하는 시스템은 JSON E로 변경하는 것입니다 콘텐츠에 어떤 일이 발생하는지 정의하고 세 번째 매개 변수는 추가 매개 변수입니다 교차 도메인에 따르면 희망 사항은 문제 돌봐 알았어, 더 이상 오류가 없으니 여기서 본 것은 여기에 기록 된 데이터이다 그래서 이것은 큰 JSON이다 그래서이 항목은 데이터 항목이므로 모든 단일 요소가 처리됩니다

아이가되기 위해서 나는 필터가 없어서 1 2 3의 항목 데이터를 얻는다 네 명이 그랬고 그 다음에 그 그림이 어딘가에있을거야 이 자료는이 매체가 내가 JPEG 미디어 M을 볼 수있는 곳이라고보고 있습니다 그래서 저는 액세스해야합니다 우리가 만들고 싶은 데이터를 잠글 수 있습니다

우리는 이미지를 만들어서 이것이 핵심적인 것입니다 그래서 이것이 우리가하고 싶은 것입니다 DITA에는 너무 많은 데이터가 있으므로 먼저 각각을 들여다 보며

FirePHP – debugowanie aplikacji AJAX

기본 구조 – SHA1 약어로 준비된 암호 필드 2 샘플 사용자 레코드 사용자 컨트롤러에 작업 추가 공유보기 스크립트 공유 버튼에 AJAX 요청이 고정 된 jQuery 코드 AJAX 액션의 주소, 전송 된 데이터 및 응답 서비스 기능 AJAX라는 액션 : isavaliableAction FireQuery 플러그인 덕분에 버튼 아래에서 jQuery를 볼 수있다 요청 및 답변 콘솔에 표시 (이상한 빈 로그인이 사용 중입니다) AJAX라는 액션 : isavaliableAction "빈"템플릿을 설정하고 뷰 스크립트의 렌더링을 비활성화하는 메소드 로그인 가용성을위한 모델 폴링 메소드 주어진 로그인을 가진 사용자에 대해 데이터베이스에 질의를 수행하는 모델의 메소드 응답이있는 테이블은 JSON 표기법으로 객체로 표시됩니다 (보기 스크립트가 없기 때문에 echo)

FirePHP 작업을위한 응용 프로그램 설정 – 프로파일 러 및 로거 로거 초기화 및 레지스트리에 배치 로거를 삽입하기 위해 이전에 저장 한 NetBeans의 코드 템플릿 "디버그"와 Tab 키 콘솔에서 모델 및 프로파일 러의 눈금자에서 기록 된 테이블을 볼 수 있습니다 – 총 001 초 이상 지속되는 쿼리 2 개 주어진 로그인에 관계없이 쿼리는 데이터베이스에서 두 항목을 반환합니다 이것은 아마도 오류 일 것입니다 chain-built 쿼리에서, 주어진 로그인으로 사용자를 선택해야하는 곳이 부족합니다

지금은 모든 것이 정확하다 일단 메커니즘이 작동하면 – 사용자 친화적 인 처리를위한 시간 – 파이어 버그는 개발자 도구 일뿐입니다 제출 양식 버튼을 차단합니다 속성의 값은 "true"/ "false"이며, 어떻게 "비활성화"/ ""하지 않습니다 우리는 응답 서비스의 기능을 변경합니다 – 텍스트 필드의 프레임에 색을 칠하고 응답에 따라 양식을 보내기위한 단추의 차단을 해제하거나 차단합니다 – 응답 개체의 성공 필드 (JSON이 작업에서 전송 됨) 마지막에는 단추에서 기능을 제거하지만 텍스트 필드를 벗어난 후에는이 기능이 호출됩니다 버튼 자체에 대해 설명합니다

Cómo integrar DataTablesJS vía AJAX con Laravel 5.2

laravel 52 애플리케이션에서 DataTablesJs를 어떻게 통합 할 수 있는지 살펴 보겠습니다

DataTables는 Jquery 플러그인입니다 모든 HTML 테이블에 고급 상호 작용 컨트롤 추가 페이지 매김 같이 즉석 검색 열 순서 변경 기능 다른 사람들과 laravel 문맥에서 사용하자 먼저 테이블이라는 새로운 라벨 앱을 만듭니다 홈스테드 설정 파일을 열어 새 앱을 등록하십시오 로컬 도메인은 tables

app입니다 마지막으로 테이블이라고하는 새 데이터베이스를 추가하십시오 좋아, 저장하고, 이제 우리의 로컬 도메인을 / etc / hosts 파일에 추가하십시오 우리는 tableapp이라는 이름을 사용했습니다

마지막으로 우리는 농가 집을 제공합니다 그리고 우리는 준비가되었습니다 숭고한 텍스트로 프로젝트를 열고 기본적으로 laravel로 오는 환영보기를 편집 해 봅시다 이 파일을 지우고 여기에 html 테이블을 추가합니다 그것에게 테이블 CSS 클래스 줘 머리글을 만들고 응용 프로그램의 모든 사용자를 표시한다고 가정 해 봅시다

ID, 이름 및 EMAIL을 표시하려고합니다 페이지를 새로 고치면 스타일을 지정하지 않고 왼쪽 상단에 표가 표시됩니다 트위스트 부트 스트랩을 추가하여 디자인을 개선합시다 cdnjscom으로 이동하여 다운로드하지 않고 사용하려는 대부분의 프론트 엔드 라이브러리를 찾을 수 있습니다

Twitter 부트 스트랩을 검색하면 첫 번째 결과를 가져옵니다 버전 4는 아직 알파 상태이기 때문에 버전 3을 사용합시다 축소 버전을 찾아 복사하십시오 이제 스타일 시트를 맨 위에 연결합니다 페이지를 새로 고침하면 디자인이 향상됩니다

계속하겠습니다 제목을 추가합시다 좋습니다 데이터베이스에 사용자를 저장하기 전에 연결을 올바르게 구성해야합니까? 프로젝트의 루트에있는 env 파일을 엽니 다

홈스테드를 사용하기 때문에 이러한 값의 대부분은 괜찮습니다 우리가 변경할 필요가있는 것은 데이터베이스 이름뿐입니다 우리는 테이블이라고 부릅니다 터미널에서 우리는 농가 기계에 접근합니다 디렉토리를 프로젝트 폴더로 변경하십시오

그리고 php artisan migrate를 실행하여 데이터베이스 구조를 비난하십시오 무작위 사용자를 생성하기 위해 팅커를 사용 해보자 공장 전역 함수를 사용합니다 가짜 데이터를 생성하는 데 사용됩니다 그리고 50 명의 무작위 사용자가 필요하다고 가정 해 봅시다

몇 초 후 속편 프로에서 50 명의 무작위 사용자를 볼 수 있습니다 이제 환영보기에 표시해 보겠습니다 foreach 루프 작성 각 사용자마다 사용자 ID가있는 행을 만듭니다 이름 그리고 사용자 이메일 우리가 브라우저에서 그것을 시도하면 물론 우리가보기에 사용자를 전달하지 않았기 때문에 실패합니다 그걸 해결하자

보통 컨트롤러를 사용하여 요청을 처리하지만 단순하게하기 위해 여기에 입력 해 보겠습니다 Eloquent를 사용합시다 데이터베이스에서 모든 사용자를 가져 오려면 사용자 변수라는 이름으로 저장하십시오 마지막으로 변수를 환영보기로 전달합니다 이제 모든 사용자를 볼 수 있습니다

좋아, 이것은 문제가 될 수 있습니다 왜냐하면 더 많은 사용자가 페이지의 성능이 느릴수록 더 많은 사용자를 50 명 만들어 보겠습니다 페이지를 새로 고침하면 로드하는 데 몇 밀리 초가 걸렸습니다 200 명 이상의 사용자를 추가하면 어떨까요? 완료하는 데 시간이 오래 걸린다 따라서이 문제를 해결하기 위해 우리는 datatables js 가장 먼저 jquery를 사용해야합니다

datatables는 jquery 플러그인이므로 URL에서 jquery를 직접 검색해 보겠습니다 복사하여 닫는 body 태그 앞에 붙여 넣습니다 다음으로, 우리는 datatables 자산을 추가 할 필요가있다 여기에 CSS가 있습니다 그리고 자바 스크립트 마지막으로이 간단한 코드로 플러그인을 초기화해야합니다

html 표에 ID가 있어야합니다 사용자라고합시다 페이지로 돌아 가기 새로 고침하고 DataTablesJs를 성공적으로 초기화했습니다 우리는 페이지 매김을했습니다 즉시 검색

등 하나 우리는 낮은 성능 문제를 해결하지 못했습니다

우리는 여전히 데이터베이스에서 300 명의 사용자를 가져오고 있습니다 하나의 쿼리에서 어떻게 해결할 수 있을까요? 문서의 예를 검토하면 서버 측 섹션을 볼 수 있습니다 서버 측에서 데이터를 처리하는 데 도움이됩니다 아래로 스크롤하면 서버 측 레이블에서 PHP로 예제 구현을 볼 수 있습니다 우리는이 코드를 사용할 수 있지만 더 좋은 방법이 있습니다

Yajra의 laravel-datatables이라는 훌륭한 패키지가 있습니다 이를 통해 우리는 데이터 테이블을 laravel과 통합 할 수 있습니다 작곡가를 통해 패키지를 요구합시다 그런 다음 서비스 공급자를 추가하십시오 다음 별칭을 등록하십시오

마지막으로 우리는 asstes를 발행합니다 이제, ajax를 통해 데이터를 처리하도록 데이터 테이블에 설명해 보겠습니다 이를 위해이 세 줄의 코드를 추가해야합니다 첫 번째 줄에는 처리가 사실이라고 나와 있습니다 둘째, 서버 측에서 처리합니다

실제로 데이터를 처리하는 URL을 정의하십시오 복사하여 붙여 넣기합니다 데이터를 처리 할 책임이있는 URL이 api / users라고 가정 해 봅시다 해당 경로를 추가하려면 routesphp 파일을 엽니 다

다시 말하지만, 간단하게하기 위해 코드를 여기에 추가해 보겠습니다 그리고 여기 우리는 돌아갑니다 이 줄은 문서에서 볼 수 있습니다 네임 스페이스 업데이트 시도 해봐 이 오류는 테이블의 행과 열을 정의하지 않았 음을 나타냅니다

하기 위해서 초기화 코드에서 columns라는 키를 만들고, 값의 객체 배열을 사용하여 첫 번째 객체는 이드가됩니다 다음으로, 이름 그리고 마지막으로 이메일 물론, 이것은 STRINGS 여야합니다 페이지 새로 고침 이제이 줄을 제거 할 수 있습니다 그리고 테이블의 본문을 완전히 삭제하십시오 페이지를 새로 고치면 똑같은 것을 볼 수 있습니다

하나 데이터베이스에 얼마나 많은 사용자가 있더라도 우리는 처음 10 개만 검색하고 있습니다 그리고 우리가 어떤 행동을 할 때마다 DataTablesJs는 현재 필요한 정보 만 검색하기 위해 새 데이터베이스 쿼리를 수행합니다 더 좋은 점은 페이지를 새로 고칠 필요가 없다는 것입니다 이것이 내가 의미하는 것입니다 지금은 300 명의 사용자가 있습니다

500 개를 추가합시다 우리는 잠시 기다린다 우리가 취한 조치 후에 상쾌하게하지 않고 활약하는 자 등을 맞댄 총 사용자 수는 800 명입니다 이것이 DataTableJs를 Laravel과 통합하는 방법입니다