2009-08-07 2 views
15

jQuery로 AJAX 호출을 할 때 load (url, data, callback) 메소드와 jQuery.get (url, data, callback, type)은 언제 사용해야합니까?AJAX jQuery.load 대 jQuery.get

+1

more : http://stackoverflow.com/questions/3870086/difference-between-ajax-and-get-and-load – cregox

답변

20

먼저 두 기능은 완전히 다릅니다. 'load'함수는 선택자와 함께 작동하고 선택된 그룹 내에서 AJAX 호출 결과를로드하며 콜백은 호출의 "완료되지 않은"이벤트를 처리합니다. $ .get 함수는보다 일반적이며 콜백은 AJAX 호출의 성공 응답을 처리합니다. 여기서 원하는 동작을 자유롭게 정의 할 수 있습니다. 그리고 jQuery 프레임 워크의 문서와 스펙을 살펴봄으로써이 모든 정보를 찾을 수 있습니다.

Here 당신은 좋은 문서를 찾을 수 있습니다.

8

로드는 DOM에 직접 데이터를 주입합니다. 이 동작이 필요하지 않으면 get을 사용하십시오.

-1

은 검토를 위해 jQuery 코드 만 살펴 봐야합니다. 어쨌든 모든 호출은 같은 방법으로 도달해야하지만 필요에 따라 다른 방법으로 응답해야합니다.

15

@ Artem의 대답은 loadget보다 일반적인 기능이 누락 된 것으로 보입니다. jQuery API docs에 따르면로드는 데이터에 따라 get 또는 post을 사용합니다. 여기에 인용 :

요청 방법

데이터를 대상으로 제공되는 경우에는 POST 방법을 사용한다; 그렇지 않으면 GET이 가정됩니다. 개발자가 & 다양한 중간 엄청난 데이터를 처리에 대해 걱정할 필요하지 않는

는 그래서 DOM에 삽입 서버 &에서 일부 HTML 콘텐츠를지고의 목적을 위해, loadget 방법보다 더 나은 방법입니다 콘텐츠를 삽입하기 전에로드 기능이 &을 가져 오기 전에 수행하는 단계. 이 페이지의 일부 내용을로드해야하는 경우

는 예를 들어, 다음 식을 사용할 수 있습니다 $('#result').load('ajax/test.html #container');

이것은 아약스/인 test.html의 내용을 검색하고,하지만 다음 jQuery는 반환 구문 분석 문서를 사용하여 ID가 ​​container 인 요소를 찾습니다. 이 요소는 내용과 함께 ID가 result 인 요소에 삽입되고 검색된 나머지 문서는 버려집니다. 명심해야 할

한 가지는 방금 대신 요청 매개 변수의 직렬화 된 양식을 얻기 위해 $.param 방법을 사용하는 데이터 매개 변수 &에 객체를 제공하는 GET 요청 피할 필요로 할 때, 점이다.

+0

대신 데이터 매개 변수를 사용하여 구조와 데이터를 분리하는 것이 좋습니다. 간단한 쿼리의 경우에는 문자열 연결 ('id = '+ id')을 사용하고 더 복잡한 항목의 경우에는 객체와 param 메소드 ('$ .param (object)'또는'$ .param ({id : id, foo : bar })') – Deebster

+0

@Deebster 저는 간단한 경우를 가정합니다. 복잡한 시나리오에서는 $ .param이 더 좋습니다.나는 대답을 편집했다. 감사. – Sujay