jQuery ajax - load() 메서드

예제

AJAX 요청을 사용하여 div 요소의 텍스트를 변경합니다:

$("button").click(function(){
  $("div").load('demo_ajax_load.txt');
});

본인이 직접 시도해보세요

页面의 하단에서 더 많은 TIY 예제를 찾을 수 있습니다.

정의와 사용법

load() 메서드는 AJAX 요청을 통해 서버에서 데이터를 가져오고, 반환된 데이터를 지정된 요소에 배치합니다.

주석:이름이 load 의 jQuery 이벤트메서드. 호출하는 것이 파라미터에 따라 결정됩니다.

문법

load(url,data,function(response,status,xhr))
파라미터 설명
url 요청을 보낼 URL을 지정합니다.
data 선택 사항. 요청과 함께 서버로 보낼 데이터를 지정합니다.
function(response, status, xhr)

선택 사항. 요청이 완료되면 실행할 함수를 지정합니다.

추가 파라미터:

  • response - 요청 결과 데이터 포함
  • status - 요청 상태( "success", "notmodified", "error", "timeout", "parsererror" ) 포함
  • xhr - XMLHttpRequest 객체 포함

상세 설명

이 메서드는 서버에서 데이터를 가져오는 가장 간단한 방법입니다. 이는 $.get(url, data, success)와 거의 동일하지만, 전역 함수가 아니며 내장된 콜백 함수를 가집니다. 성공적인 응답을 감지할 때 (예: textStatus가 "success" 또는 "notmodified" 일 때), .load()는 매칭 요소의 HTML 내용을 반환 데이터로 설정합니다. 따라서 이 메서드의 대부분의 사용은 매우 간단합니다:

$("#result").load("ajax/test.html");

回调 함수를 제공하면, 포스트 프로세싱 이후에 함수가 실행됩니다:

$("#result").load("ajax/test.html", function() {
  alert("Load was performed.");
});

위 두 예제에서, 현재 문서가 "result" ID를 포함하지 않으면 .load() 메서드가 실행되지 않습니다.

데이터가 객체라면 POST 메서드를 사용하며, 그렇지 않으면 GET 메서드를 사용합니다.

페이지 단편 로드

.load() 메서드는 $.get()와 달리, 삽입할 수 있는 원격 문서의 일부를 지정할 수 있습니다. 이는 URL 파라미터의 특별한 문법을 통해 이루어집니다. 이 문자열이 하나나 여러 개의 공백을 포함하면, 첫 번째 공백 뒤의 문자열은 로드할 내용을 결정하는 jQuery 선택자입니다.

위 예제를 수정하여 가져온 문서의 일부를 사용할 수 있습니다:

$("#result").load("ajax/test.html #container");

이 메서드를 실행하면 ajax/test.html의 내용을 가져옵니다. 그런 다음, jQuery는 반환된 문서를 파싱하여 컨테이너 ID를 가진 요소를 찾습니다. 이 요소와 그 내용은 결과 ID를 가진 요소에 삽입되며, 가져온 문서의 나머지 부분은 버려집니다.

jQuery는 브라우저의 .innerHTML 속성을 사용하여 가져온 문서를 파싱하고 현재 문서에 삽입합니다. 이 과정에서 브라우저는 <html>, <title> 또는 <head> 요소와 같은 요소를 필터링할 수 있습니다. 결과적으로 .load()를 통해 가져온 요소는 브라우저가 직접 가져온 문서와 완전히 다를 수 있습니다。

주석:브라우저의 보안 제한으로 인해 대부분의 "Ajax" 요청은 동원 전략을 준수합니다;다른 도메인, 서브 도메인 또는 프로토콜에서 데이터를 성공적으로 가져올 수 없습니다。

更多实例

예제 1

feeds.html 파일 내용을 로드합니다:

$("#feeds").load("feeds.html");

예제 2

위의 예제와 유사하지만 POST 형식으로 추가 파라미터를 전송하고 성공 시 메시지를 표시합니다:

$("#feeds").load("feeds.php", {limit: 25}, function(){
  alert("The last 25 entries in the feed have been loaded");
});

예제 3

아래의 불연속 목록에 문서 측边栏导航 부분을 로드합니다:

HTML 코드:

<b>jQuery 링크:</b>
<ul id="links"></ul>

jQuery 코드:

$("#links").load("/Main_Page #p-Getting-Started li");

更多 TIY 예제

AJAX 요청을 생성하고 해당 요청을 통해 데이터를 전송
data 파라미터를 사용하여 AJAX 요청을 통해 데이터를 전송하는 방법을 설명합니다。(AJAX 강의에서 설명된 예제입니다。)
AJAX 요청을 생성하고回调 함수를 사용
AJAX 요청에서 데이터 결과를 처리하는 방법을 function 파라미터를 사용하여 설명합니다。
오류가 있는 AJAX 요청을 생성
AJAX 요청에서 오류를 처리하는 방법을 function 파라미터를 사용하여 설명합니다(XMLHttpRequest 파라미터를 사용)。