차이 무엇 $.ajax()
과 $.get()
와는 $.load()
?
어느 것이 더 나은 조건과 어떤 조건에서 사용됩니까?
답변
$.ajax()
HTTP 헤더 등을 세밀하게 제어 할 수있는 가장 구성 가능한 것입니다. 이 방법을 사용하여 XHR 개체에 직접 액세스 할 수도 있습니다. 약간 더 세밀한 오류 처리도 제공됩니다. 따라서 더 복잡하고 불필요하지만 때로는 매우 유용 할 수 있습니다. 콜백으로 반환 된 데이터를 직접 처리해야합니다.
$.get()
는 축약 형 $.ajax()
이지만 일부 구성을 추상화하여 사용자에게 숨겨지는 것에 대해 합리적인 기본값을 설정합니다. 콜백에 데이터를 반환합니다. GET 요청 만 허용하므로 $.post()
POST에 대해서만 유사한 추상화 기능 이 수반됩니다.
.load()
$.get()
문서에서 반환 된 데이터를 삽입 할 위치를 정의 할 수있는 기능 과 유사 하지만 기능을 추가합니다. 따라서 호출 만 HTML을 생성 할 때만 실제로 사용할 수 있습니다. 특정 jQuery-wrapped DOM 요소에 묶여있는 메소드이기 때문에 다른 전역 호출과 약간 다르게 호출됩니다. 따라서 다음을 수행하십시오.$('#divWantingContent').load(...)
그것은 주목해야한다 모든 것을 $.get()
, $.post()
, .load()
에 대한 모든 단지 래퍼 $.ajax()
가 내부적으로 불리는으로가.
jQuery의 Ajax 문서에 대한 자세한 내용 : http://api.jquery.com/category/ajax/
답변
이 방법은 다른 추상화 계층을 제공합니다.
-
$.ajax()
Ajax 요청을 완전히 제어 할 수 있습니다. 다른 방법으로 요구 사항을 충족시키지 못하면이 방법을 사용해야합니다. -
$.get()
AjaxGET
요청을 실행합니다 . 반환 된 데이터 (모든 데이터 일 수 있음)는 콜백 핸들러로 전달됩니다. -
$(selector).load()
AjaxGET
요청 을 실행 하고 선택한 반환 데이터의 내용을 설정합니다 (텍스트 또는 HTML).
어떤 방법을 사용해야하는지에 따라 다릅니다. 간단한 일을하고 싶다면 귀찮게 할 필요가 없습니다 $.ajax()
.
예를 $.load()
들어 반환 된 데이터가 JSON으로 처리되어 더 처리 해야하는 경우을 사용하지 않습니다 . 여기서는 $.ajax()
또는을 사용 $.get()
합니다.
답변
http://api.jquery.com/jQuery.ajax/
jQuery.ajax()
설명 : 비동기 HTTP (Ajax) 요청을 수행하십시오.
전액을 지불하면 모든 종류의 Ajax 요청을 할 수 있습니다.
http://api.jquery.com/jQuery.get/
jQuery.get()
설명 : HTTP GET 요청을 사용하여 서버에서 데이터를로드하십시오.
HTTP GET 요청 만 할 수 있으며 약간의 구성이 필요합니다.
.load()
설명 : 서버에서 데이터를로드하고 리턴 된 HTML을 일치하는 요소에 배치하십시오.
데이터를 가져 와서 요소에 주입하도록 전문화되었습니다.
답변
매우 기본이지만
$.load()
: HTML 조각을 컨테이너 DOM에로드합니다.$.get()
: GET 전화를 걸고 응답으로 광범위하게 재생 하려는 경우에 사용하십시오 .$.post()
: POST 호출을하고 일부 컨테이너 DOM에 응답을로드하지 않으려는 경우에 사용하십시오.$.ajax()
: XHR에 장애가 발생했을 때 무언가를해야하거나 즉시 ajax 옵션 (예 : cache : true)을 지정해야하는 경우에 사용하십시오.
답변
중요 사항 : 데이터 매개 변수가 제공되는 경우 jQuery.load () 메소드는 GET 뿐만 아니라 POST 요청 도 수행 할 수 있습니다 ( http://api.jquery.com/load/ 참조 ).
data 형식 : PlainObject 또는 String 요청과 함께 서버로 전송되는 일반 개체 또는 문자열입니다.
요청 방법 데이터가 객체로 제공되는 경우 POST 방법이 사용됩니다. 그렇지 않으면 GET 이 가정됩니다.
Example: pass arrays of data to the server (POST request)
$( "#objectID" ).load( "test.php", { "choices[]": [ "Jon", "Susan" ] } );
답변
모든 사람이 옳습니다. 기능 .load
, .get
그리고 .post
함수를 사용하는 다른 방법입니다 .ajax
.
개인적으로 .ajax raw 함수는 매우 혼란스럽고 필요에 따라로드, 가져 오기 또는 게시를 선호합니다.
POST의 구조는 다음과 같습니다.
$.post(target, post_data, function(response) { });
GET에는 다음이 있습니다.
$.get(target, post_data, function(response) { });
LOAD는 다음과 같습니다.
$(*selector*).load(target, post_data, function(response) { });
보시다시피, 어느 것을 사용할지 결정하는 상황 에 따라 차이가 거의 없습니다. 내부적으로 파일로 정보를 보내야합니까? .post를 사용하십시오 (대부분의 경우에 해당). 특정 순간에 대한 링크를 제공 할 수있는 방식으로 정보를 보내야합니까? .get을 사용하십시오. 두 파일 모두 파일 응답을 처리 할 수있는 콜백을 허용합니다.
중요한 점은 .load는 두 가지 방식으로 작동한다는 것입니다. 대상 문서의 URL 만 제공하면 가져 오기로 작동 합니다 ( $_POST
기본 .load 동작을 사용하는 동안 호출 된 PHP에서 검사를 테스트했기 때문에 행위라고 말하지만 감지 $_POST
하지는 않습니다 $_GET
. 아무 주장없이 .post로 작동한다고 말하십시오). 그러나, http://api.jquery.com/load/함수에 인수 배열을 제공하면 정보를 파일에 POST합니다. 어떤 경우이든, .load 함수는 정보를 DOM 요소에 직접 삽입합니다. DOM 요소에는 많은 경우 읽기 쉽고 직접적입니다. 응답으로 더 많은 것을 원한다면 여전히 콜백을 제공합니다. 또한 .load를 사용하면 파일에서 특정 코드 블록을 추출하여 카탈로그 (예 : html 파일)를 저장하고 해당 항목 (항목)을 DOM 요소로 직접 검색 할 수 있습니다.
답변
$.get = $.ajax({type: 'GET'});
$.load()
요소에서만 호출 할 수있는 도우미 함수입니다.
$.ajax()
대부분의 제어 기능을 제공합니다. 데이터를 POST 할 것인지, 더 많은 콜백을 얻었는지 등을 지정할 수 있습니다.