> 웹 프론트엔드 > 프런트엔드 Q&A > 아약스 함수란 무엇인가

아약스 함수란 무엇인가

藏色散人
풀어 주다: 2021-12-17 11:34:23
원래의
2583명이 탐색했습니다.

ajax 함수는 백그라운드 HTTP 요청을 통해 원격 데이터를 로드하는 데 사용되는 jQuery.ajax() 함수를 의미하며, 이 함수를 통해 원격 서버에서 데이터를 얻을 수 있습니다. 현재 페이지를 새로 고칩니다.

아약스 함수란 무엇인가

이 문서의 운영 환경: Windows 7 시스템, jquery 버전 3.2.1, Dell G3 컴퓨터.

Ajax 기능이 무엇인가요?

jQuery.ajax() 함수 상세 설명

jQuery.ajax() 함수는 jQuery.ajax()函数用于通过后台HTTP请求加载远程数据

jQuery.ajax()函数是jQuery封装的AJAX技术实现,通过该函数,我们无需刷新当前页面即可获取远程服务器上的数据。

jQuery.ajax()函数是jQuery的底层AJAX实现。jQuery.get()、 jQuery.post()、load()、 jQuery.getJSON()、 jQuery.getScript()等函数都是该函数的简化形式(都调用该函数,只是参数设置有所不同或有所省略)。

该函数属于全局jQuery백그라운드 HTTP 요청을 통해 원격 데이터를 로드

하는 데 사용됩니다.

jQuery.ajax() 함수는 jQuery로 캡슐화된 AJAX 기술을 구현한 것입니다. 이 함수를 통해 현재 페이지를 새로 고치지 않고도 원격 서버에서 데이터를 얻을 수 있습니다.

jQuery.ajax() 함수는 jQuery의 기본 AJAX 구현입니다. jQuery.get(), jQuery.post(), load(), jQuery.getJSON(), jQuery.getScript() 및 기타 함수는 모두 이 함수를 단순화한 형태입니다(모두 이 함수를 호출하지만 매개변수 설정이 다릅니다). 또는 약간의 차이가 있음).

이 함수는 전역 jQuery 개체에 속합니다(정적 함수로도 이해될 수 있음). Parameters매개변수 이름을 기반으로 해당 매개변수를 찾으세요. Parameter urlsettings
이전 구문 섹션에 정의된
Description
String 유형 URL 요청 문자열입니다.
🎜🎜Optional/Object type 요청을 보내는 데 필요한 추가 매개변수 설정을 지정하는 데 사용되는 각 속성을 갖는 Object 개체입니다. 🎜🎜🎜🎜🎜

settings 매개변수는 객체이며 jQuery.ajax()는 객체의 다음 속성을 인식할 수 있습니다(모두 선택 사항). settings是一个对象,jQuery.ajax()可以识别该对象的以下属性(它们都是可选的):

accepts --- Object类型

默认值:取决于dataType属性。

发送的内容类型请求头,用于告诉服务器——浏览器可以接收服务器返回何种类型的响应。

async --- Boolean类型

默认值:true

指示是否是异步请求。同步请求将锁定浏览器,直到获取到远程数据后才能执行其他操作。

beforeSend---Function类型

指定在请求发送前需要执行的回调函数。该函数还有两个参数:其一是jqXHR对象,其二是当前settings对象。这是一个Ajax事件,如果该函数返回false,将取消本次ajax请求。

cache---Boolean类型

默认值:true(dataType为'script'或'jsonp'时,则默认为false)。

指示是否缓存URL请求。如果设为false将强制浏览器不缓存当前URL请求。该参数只对HEAD、GET请求有效(POST请求本身就不会缓存)。

complete---Function/Array类型

指定请求完成(无论成功或失败)后需要执行的回调函数。该函数还有两个参数:一个是jqXHR对象,一个是表示请求状态的字符串('success'、 'notmodified'、 'error'、 'timeout'、 'abort'或'parsererror')。这是一个Ajax事件。

从jQuery 1.5开始,该属性值可以是数组形式的多个函数,每个函数都将被回调执行。

contents---Object类型1.5 新增

一个以"{字符串:正则表达式}"配对的对象,用来确定jQuery将如何解析响应,给定其内容类型。

contentType---String类型

默认值:'application/x-www-form-urlencoded; charset=UTF-8'。

使用指定的内容编码类型将数据发送给服务器。W3C的XMLHttpRequest规范规定charset始终是UTF-8,你如果将其改为其他字符集,也无法强制浏览器更改字符编码。

context---Object类型

用于设置Ajax相关回调函数的上下文对象(也就是函数内的this指针)。

converters --- Object类型1.5 新增

默认值:{'* text': window.String, 'text html': true, 'text json': jQuery.parseJSON, 'text <span id="9_nwp">xml': jQuery.parseXML}</span>

一个数据类型转换器。每个转换器的值都是一个函数,用于返回响应转化后的值。

crossDomain---Boolean类型1.5 新增

默认值:同域请求为false,跨域请求为true

수용 ---

ObjectType

기본값: dataType에 따라 다름 속성입니다. 🎜🎜전송된 콘텐츠 유형 요청 헤더는 브라우저가 서버로부터 어떤 유형의 응답을 받을 수 있는지 서버에 알려주는 데 사용됩니다. 🎜<h4><span style="color: rgba(153, 204, 0, 1)"><strong>async<span style="color: rgba(0, 0, 0, 1)"> --- 🎜 </span></strong>🎜<span class="type" style="color: rgba(0, 0, 0, 1)">부울 유형🎜</span></span></h4>🎜기본값: <code>true. 🎜🎜비동기 요청인지 여부를 나타냅니다. 동기 요청은 원격 데이터를 얻고 다른 작업을 수행할 수 없을 때까지 브라우저를 잠급니다. 🎜

보내기 전---🎜 🎜함수 유형 🎜

🎜요청이 실행되기 전에 실행해야 하는 콜백 함수를 지정합니다. 전송된. 이 함수에는 두 개의 매개변수도 있습니다. 하나는 jqXHR 객체이고 다른 하나는 현재 settings 객체입니다. 이는 Ajax 이벤트입니다. 함수가 false를 반환하면 이 ajax 요청이 취소됩니다. 🎜🎜

캐시--- 🎜부울 유형 🎜🎜

🎜기본값: true( dataType이 'script' 또는 'jsonp'인 경우 기본값은 false입니다. 🎜🎜URL 요청을 캐시할지 여부를 나타냅니다. false로 설정하면 브라우저가 현재 URL 요청을 캐시하지 않습니다. 이 매개변수는 HEAD 및 GET 요청에만 유효합니다(POST 요청 자체는 캐시되지 않습니다). 🎜

완료---🎜 함수/배열 유형🎜🎜

🎜요청 지정완료( 성공 또는 실패 후에 실행되어야 하는 콜백 함수). 이 함수에는 두 개의 매개변수도 있습니다. 하나는 jqXHR 객체이고 다른 하나는 요청 상태('성공', '수정되지 않음', '오류', '시간 초과', '중단')를 나타내는 문자열입니다. 또는 '파서 오류'). 이것은Ajax 이벤트입니다. 🎜🎜🎜jQuery 1.5부터 속성값은 배열 형태의 여러 함수가 될 수 있으며, 각 함수는 콜백에 의해 실행됩니다. 🎜

내용---🎜 객체 유형1.5에 🎜🎜🎜

🎜 객체 추가 콘텐츠 유형에 따라 jQuery가 응답을 구문 분석하는 방법을 결정하는 "{string:regex}"와 쌍을 이룹니다. 🎜

contentType---🎜 문자열 유형🎜🎜

🎜기본값: 'application/x-www-form-urlencoded ; 문자셋=UTF-8'. 🎜🎜지정된 콘텐츠 인코딩 유형을 사용하여 서버에 데이터를 보냅니다. W3C의 XMLHttpRequest 사양에서는 문자 집합이 항상 UTF-8이라고 규정하고 있습니다. 문자 집합을 다른 문자 집합으로 변경하면 브라우저에서 문자 인코딩을 강제로 변경할 수 없습니다. 🎜

컨텍스트---🎜 Object type🎜🎜

🎜은 Ajax 관련 콜백의 컨텍스트 객체를 설정하는 데 사용됩니다. 함수(즉, 함수 내의 포인터)입니다. 🎜

변환기 --- 🎜 객체 유형1.5 신규 🎜🎜🎜

🎜기본값 : {'* text': window.String, 'text html': true, 'text json': jQuery.parseJSON, 'text <span id="9_nwp">xml': jQuery.parseXML}🎜. 🎜🎜데이터 유형 변환기. 각 변환기의 값은 응답의 변환된 값을 반환하는 <span id="25_nwp"> 함수입니다. 🎜🎜<h4><span style="color: rgba(153, 204, 0, 1)"><strong>crossDomain<span style="color: rgba(0, 0, 0, 1)">--- 🎜</span></strong><span class="type" style="color: rgba(0, 0, 0, 1)">부울 유형<span class="version">1.5 새로운 기능 🎜🎜🎜</span></span></span></h4>🎜 기본값 값: 동일한 도메인 요청의 경우 <code>false, 교차 도메인 요청의 경우 true. 🎜🎜교차 도메인 요청인지 여부를 나타냅니다. 동일한 도메인 내에서 도메인 간 요청을 강제로 적용하려면 true로 설정합니다(JSONP 형식). 예를 들어, 🎜서버측에서 다른 도메인으로의 리디렉션이 가능합니다. 🎜🎜

data---서버로 전송되는 모든 종류의

데이터는 자동으로 문자열 형식으로 변환됩니다. GET 요청인 경우 URL에 추가됩니다.

dataFilter---Function type

응답의 원시 데이터를 처리하는 콜백 함수를 지정합니다. 이 함수에는 두 개의 매개변수도 있습니다. 하나는 응답의 원본 데이터를 나타내는 문자열이고 다른 하나는 <span id="8_nwp">dataType<code><span id="8_nwp">dataType</span>属性字符串。

dataType---String类型

默认值:jQuery智能猜测,猜测范围(xml、 json、 script或html)

指定返回的数据类型。该属性值可以为:

  • 'xml' :返回XML文档,可使用jQuery进行处理。
  • 'html': 返回HTML字符串。
  • 'script': 返回JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意:在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
  • 'json': 返回JSON数据。JSON数据将使用严格的语法进行解析(属性名必须加双引号,所有字符串也必须用双引号),如果解析失败将抛出一个错误。从jQuery 1.9开始,空内容的响应将返回null{}
  • 'jsonp': JSONP格式。使用JSONP形式调用函数时,如"url?callback=?",jQuery将自动替换第二个?为正确的函数名,以执行回调函数。
  • 'text': 返回纯文本字符串。

error---Function/Array类型

指定请求失败时执行的回调函数。该函数有3个参数:jqXHR对象、 请求状态字符串(null、 'timeout'、 'error'、 'abort'和'parsererror')、 错误信息字符串(响应状态的文本描述部分,例如'Not Found'或'Internal Server Error')。这是一个Ajax事件。跨域脚本和跨域JSONP请求不会调用该函数。

从jQuery 1.5开始,该属性值可以是数组形式的多个函数,每个函数都将被回调执行。

global---Boolean类型

默认值:true

指示是否触发全局Ajax事件。将该值设为false将阻止全局事件处理函数被触发,例如ajaxStart()和ajaxStop()。它可以用来控制各种Ajax事件。

headers---Object类型1.5 新增

默认值:{}

以对象形式指定附加的请求头信息。请求头X-Requested-With: XMLHttpRequest将始终被添加,当然你也可以在此处修改默认的XMLHttpRequest值。headers中的值可以覆盖beforeSend回调函数中设置的请求头(意即beforeSend先被调用)。

$.ajax({
    url: "my.php" ,
    headers: {        "Referer": "http://www.365mini.com" // 有些浏览器不允许修改该请求头
        ,"User-Agent": "newLine" // 有些浏览器不允许修改该请求头
        ,"X-Power": "newLine"
        ,"Accept-Language": "en-US"
    }
});
로그인 후 복사

ifModified---Boolean类型

默认值:false

允许当前请求仅在服务器数据改变时获取新数据(如未更改,浏览器从缓存中获取数据)。它使用HTTP头信息Last-Modified

속성 문자열입니다.

dataType---문자열 유형기본값: jQuery 스마트 추측, 추측 범위(xml, json, 스크립트 또는 html )

반환되는 데이터 유형을 지정하세요. 속성 값은 다음과 같습니다.

  • 'xml': jQuery를 사용하여 처리할 수 있는 XML 문서를 반환합니다. 🎜🎜
  • 'html': HTML 문자열을 반환합니다. 🎜
  • 'script': JavaScript 코드를 반환합니다. 결과는 자동으로 캐시되지 않습니다. cache 매개변수가 설정되지 않은 경우. 참고: 원격 요청(동일한 도메인이 아닌)을 수행하는 경우 모든 POST 요청은 GET 요청으로 변환됩니다. (DOM 스크립트 태그를 사용하여 로드하기 때문입니다.) 🎜
  • 'json': JSON 데이터를 반환합니다. JSON 데이터는 🎜strict🎜 구문(속성 이름은 큰따옴표로 묶어야 하며 모든 문자열은 큰따옴표로 묶어야 함)을 사용하여 구문 분석되며 구문 분석에 실패하면 오류가 발생합니다. jQuery 1.9부터 빈 콘텐츠가 포함된 응답은 null 또는 {}를 반환합니다. 🎜
  • 'jsonp': JSONP 형식. "url?callback=?"과 같은 JSONP 형식을 사용하여 함수를 호출하면 jQuery는 자동으로 두 번째 ?를 올바른 함수 이름으로 대체하여 콜백 함수를 실행합니다. 🎜🎜
  • 'text': 일반 텍스트 문자열을 반환합니다. 🎜
🎜🎜🎜error🎜---🎜🎜🎜함수/배열 유형🎜🎜🎜🎜요청이 🎜실패🎜할 때 실행할 콜백 함수를 지정하세요. 이 함수에는 jqXHR 객체, 요청 상태 문자열(null, 'timeout', 'error', 'abort' 및 'parsererror'), 오류 메시지 문자열('Not Found'와 같은 응답 상태의 텍스트 설명 부분)의 3가지 매개변수가 있습니다. ' 또는 '내부 서버 오류'). 이것은Ajax 이벤트입니다. 교차 도메인 스크립트 및 교차 도메인 JSONP 요청 🎜에서는 이 함수를 호출하지 🎜 않습니다. 🎜🎜🎜jQuery 1.5부터 속성 값은 🎜array🎜 형태의 여러 함수가 될 수 있으며, 각 함수는 콜백에 의해 실행됩니다. 🎜🎜🎜🎜🎜global🎜---🎜🎜🎜부울 유형🎜🎜🎜🎜기본값: true. 🎜🎜전역 Ajax 이벤트가 트리거되는지 여부를 나타냅니다. 이 값을 false로 설정하면 ajaxStart() 및 ajaxStop()과 같은 전역 이벤트 핸들러가 트리거되지 않습니다. 다양한 Ajax 이벤트를 제어하는 ​​데 사용할 수 있습니다. 🎜🎜🎜🎜headers🎜---🎜🎜🎜Object type🎜1.5 새로운 🎜🎜🎜🎜🎜기본값: {}. 🎜🎜추가 요청 헤더 정보를 객체 형태로 지정하세요. 요청 헤더 X-Requested-With: XMLHttpRequest는 항상 추가되지만 여기에서 기본 XMLHttpRequest 값을 수정할 수도 있습니다. headers의 값은 beforeSend 콜백 함수에 설정된 요청 헤더를 재정의할 수 있습니다(beforeSend가 먼저 호출된다는 의미). 🎜
$.ajax({
    url: a_not_found_url ,    
    // 当响应对应的状态码时,执行对应的回调函数    
    statusCode: {        404: function() {
            alert( "找不到页面" );
        },        200: function(){
            alert("请求成功");
        }
    }
});
로그인 후 복사
로그인 후 복사
🎜🎜🎜ifModified🎜---🎜🎜🎜부울 유형🎜🎜🎜🎜기본값: false. 🎜🎜서버 데이터가 변경될 때만 현재 요청이 새 데이터를 가져오도록 허용합니다(변경되지 않은 경우 브라우저는 캐시에서 데이터를 가져옵니다). HTTP 헤더 Last-Modified를 사용하여 결정합니다. jQuery 1.4부터는 서버에 지정된 'etag'도 확인하여 데이터가 수정되었는지 여부를 확인합니다. 🎜🎜🎜🎜isLocal🎜---🎜🎜🎜Boolean 유형 🎜1.5.1 New 🎜🎜🎜🎜🎜기본값: 현재 위치 프로토콜에 따라 다릅니다. 🎜

允许将当前环境视作"本地",(例如文件系统),即使默认情况下jQuery不会如此识别它。目前,以下协议将被视作本地:file*-extensionwidget

jsonp---String类型

重写JSONP请求的回调函数名称。该值用于替代"url?callback=?"中的"callback"部分。

jsonpCallback---String/Function类型

为JSONP请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。

从jQuery 1.5开始,你也可以指定一个函数来返回所需的函数名称。

mimeType---String类型1.5.1 新增

一个mime类型用来覆盖XHR的mime类型。

password---String类型

用于响应HTTP访问认证请求的密码。

processData---Boolean类型

默认值:true

默认情况下,通过<span id="4_nwp">data</span>属性传递进来的数据,如果是一个对象(技术上讲,只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM树信息或其它不希望转换的信息,请设置为false

scriptCharset---String类型

设置该请求加载的脚本文件的字符集。只有当请求时dataType为"jsonp"或"script",并且type是"GET"才会用于强制修改charset。这相当于设置

인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿