jquery 전역 설정

王林
王林원래의
2023-05-23 15:09:08785검색

jQuery는 최신 웹 개발에서 가장 널리 사용되는 JavaScript 라이브러리 중 하나입니다. 개발자에게 HTML 문서 조작, 이벤트 처리, 애니메이션 생성, Ajax 상호 작용 및 기타 여러 일반적인 작업을 수행할 수 있는 안정적이고 사용하기 쉬운 방법을 제공합니다. 그러나 대규모 웹사이트나 애플리케이션을 개발할 때는 여러 페이지에서 jQuery를 사용해야 할 수도 있고, 다른 구성으로 실행해야 할 수도 있습니다. 이를 위해 jQuery는 개발자가 여러 페이지에서 구성을 공유할 수 있도록 몇 가지 전역 설정 옵션을 제공합니다. 다음은 몇 가지 일반적인 jQuery 전역 설정 옵션입니다.

  1. $.ajaxSetup()

$.ajaxSetup() 메서드를 사용하면 jQuery에 대한 전역 AJAX 옵션을 설정할 수 있습니다. 이 옵션은 모든 $.ajax(), $.get(), $.post() 등에 적용됩니다. AJAX는 다른 페이지나 다른 섹션에 작성하도록 요청합니다. 이는 귀하의 모든 요청에 ​​영향을 미치는 전역 설정 옵션입니다.

다음과 같이 $.ajaxSetup() 메서드를 사용할 수 있습니다.

$.ajaxSetup({
  url: "/api/user",
  type: "POST",
  dataType: "json"
});

위 예에서는 AJAX 요청에 대한 기본 URL, HTTP 메서드 및 응답 데이터 유형을 설정했습니다. 이러한 설정은 사이트 전체에서 호출되는 모든 AJAX 요청에 적용됩니다.

  1. $.ajaxPrefilter()

$.ajaxPrefilter() 메서드를 사용하면 AJAX 요청이 전송되기 전에 요청 데이터를 전처리할 수 있습니다. $.ajaxSetup()과 유사하지만 호출될 때 AJAX 요청에만 영향을 미칩니다. $.ajaxPrefilter()를 사용하면 요청 매개변수 및 응답 데이터를 수정하거나 요청이 전송되기 전에 유효성 검사 논리를 실행할 수 있습니다.

다음은 $.ajaxPrefilter() 사용 예입니다.

$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
  options.url = "/api" + options.url;
});

위 예에서는 모든 AJAX 요청의 URL 앞에 접두사 "/api"를 추가했습니다. 이렇게 하면 AJAX 요청에 이 접두사를 반복적으로 입력하는 것을 방지할 수 있습니다.

  1. $.ajaxTransport()

$.ajaxTransport() 메소드를 사용하면 새로운 AJAX 전송을 등록할 수 있습니다. 기본적으로 jQuery는 XMLHttpRequest 및 스크립트 태그 전송을 지원하지만 $.ajaxTransport()를 통해 사용자 정의 전송을 등록할 수 있습니다.

다음은 $.ajaxTransport()를 사용한 예입니다.

$.ajaxTransport("+image", function(options, originalOptions, jqXHR) {
  var img,
      deferred = $.Deferred(),
      dataType = options.dataType || "";

  if (dataType.toLowerCase() === "image") {
    img = new Image();

    img.onload = function() {
      deferred.resolve(this);
    };

    img.onerror = function() {
      deferred.reject();
    };

    img.src = options.url;

    return deferred.promise();
  }
});

위 예에서는 "+image"라는 새로운 데이터 타입을 등록하고 Image 객체를 통해 이를 전송하는 방법을 정의했습니다. 이렇게 하면 AJAX 요청에서 이미지를 로드하고 표시하는 데 소요되는 시간과 대역폭이 절약됩니다.

  1. $.holdReady()

$.holdReady() 메소드를 사용하면 jQuery의 준비 이벤트를 일시 중지하거나 재개할 수 있습니다. Ready 이벤트는 DOM이 완전히 로드되고 구문 분석될 때 트리거되는 $(document).ready() 이벤트입니다. $.holdReady()를 사용하면 다른 코드가 실행되기 전에 특정 조건을 기다리기 위해 준비 이벤트의 실행을 지연하거나 방지할 수 있습니다.

다음은 $.holdReady() 사용 예입니다.

$.holdReady(true);

$.get("/settings", function(data) {
  // Some data processing here
  $.holdReady(false);
});

위 예에서는 설정 정보를 가져오기 전에 jQuery의 준비 이벤트를 일시 중지했습니다. $.get()이 완료되고 데이터가 처리된 후 $.holdReady()를 해제하여 준비 이벤트가 다시 시작되도록 합니다.

요약

jQuery는 웹 개발자가 많은 일반적인 웹 작업을 안정적이고 일관된 방식으로 처리하는 데 도움이 될 수 있는 몇 가지 유용한 전역 설정 옵션을 제공합니다. $.ajaxSetup(), $.ajaxPrefilter(), $.ajaxTransport() 및 $.holdReady()와 같은 메서드를 통해 개발자는 여러 페이지 간에 구성을 공유하고, AJAX 요청을 사전 처리하고, 사용자 정의 AJAX 전송을 등록하고 jQuery의 준비를 제어할 수 있습니다. 이벤트. 이러한 옵션은 생산성을 높이고, 웹사이트 성능을 향상시키며, 복잡한 웹 애플리케이션 구현을 더욱 효율적으로 만듭니다.

위 내용은 jquery 전역 설정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.