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
개체에 속합니다(정적 함수로도 이해될 수 있음). 이전 구문 섹션에 정의된 | 매개변수 이름을 기반으로 해당 매개변수를 찾으세요.|
---|---|
Parameter | Description |
String 유형 URL 요청 문자열입니다. |
settings
매개변수는 객체이며 jQuery.ajax()
는 객체의 다음 속성을 인식할 수 있습니다(모두 선택 사항). settings
是一个对象,jQuery.ajax()
可以识别该对象的以下属性(它们都是可选的):
默认值:取决于dataType
属性。
发送的内容类型请求头,用于告诉服务器——浏览器可以接收服务器返回何种类型的响应。
默认值:true
。
指示是否是异步请求。同步请求将锁定浏览器,直到获取到远程数据后才能执行其他操作。
指定在请求发送前需要执行的回调函数。该函数还有两个参数:其一是jqXHR
对象,其二是当前settings
对象。这是一个Ajax事件,如果该函数返回false
,将取消本次ajax请求。
默认值:true
(dataType
为'script'或'jsonp'时,则默认为false
)。
指示是否缓存URL请求。如果设为false
将强制浏览器不缓存当前URL请求。该参数只对HEAD、GET请求有效(POST请求本身就不会缓存)。
指定请求完成(无论成功或失败)后需要执行的回调函数。该函数还有两个参数:一个是jqXHR
对象,一个是表示请求状态的字符串('success'、 'notmodified'、 'error'、 'timeout'、 'abort'或'parsererror')。这是一个Ajax事件。
从jQuery 1.5开始,该属性值可以是数组形式的多个函数,每个函数都将被回调执行。
一个以"{字符串:正则表达式}"配对的对象,用来确定jQuery将如何解析响应,给定其内容类型。
默认值:'application/x-www-form-urlencoded; charset=UTF-8'。
使用指定的内容编码类型将数据发送给服务器。W3C的XMLHttpRequest规范规定charset始终是UTF-8,你如果将其改为其他字符集,也无法强制浏览器更改字符编码。
用于设置Ajax相关回调函数的上下文对象(也就是函数内的this
指针)。
默认值:{'* text': window.String, 'text html': true, 'text json': jQuery.parseJSON, 'text <span id="9_nwp">xml': jQuery.parseXML}</span>
。
一个数据类型转换器。每个转换器的值都是一个函数,用于返回响应转化后的值。
默认值:同域请求为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부터 속성값은 배열 형태의 여러 함수가 될 수 있으며, 각 함수는 콜백에 의해 실행됩니다. 🎜이
포인터)입니다. 🎜{'* 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 형식). 예를 들어, 🎜서버측에서 다른 도메인으로의 리디렉션이 가능합니다. 🎜🎜데이터는 자동으로 문자열 형식으로 변환됩니다. GET 요청인 경우 URL에 추가됩니다.
응답의 원시 데이터를 처리하는 콜백 함수를 지정합니다. 이 함수에는 두 개의 매개변수도 있습니다. 하나는 응답의 원본 데이터를 나타내는 문자열이고 다른 하나는 <span id="8_nwp">dataType<code><span id="8_nwp">dataType</span>
属性字符串。
默认值:jQuery智能猜测,猜测范围(xml、 json、 script或html)
指定返回的数据类型。该属性值可以为:
cache
参数。注意:在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
null
或{}
。
指定请求失败时执行的回调函数。该函数有3个参数:jqXHR对象、 请求状态字符串(null、 'timeout'、 'error'、 'abort'和'parsererror')、 错误信息字符串(响应状态的文本描述部分,例如'Not Found'或'Internal Server Error')。这是一个Ajax事件。跨域脚本和跨域JSONP请求不会调用该函数。
从jQuery 1.5开始,该属性值可以是数组形式的多个函数,每个函数都将被回调执行。
默认值:true
。
指示是否触发全局Ajax事件。将该值设为false
将阻止全局事件处理函数被触发,例如ajaxStart()和ajaxStop()。它可以用来控制各种Ajax事件。
默认值:{}
。
以对象形式指定附加的请求头信息。请求头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" } });
默认值:false
。
允许当前请求仅在服务器数据改变时获取新数据(如未更改,浏览器从缓存中获取数据)。它使用HTTP头信息Last-Modified
반환되는 데이터 유형을 지정하세요. 속성 값은 다음과 같습니다.
cache
매개변수가 설정되지 않은 경우. 참고: 원격 요청(동일한 도메인이 아닌)을 수행하는 경우 모든 POST 요청은 GET 요청으로 변환됩니다. (DOM 스크립트 태그를 사용하여 로드하기 때문입니다.) 🎜
null
또는 {}
를 반환합니다. 🎜
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("请求成功"); } } });
false
. 🎜🎜서버 데이터가 변경될 때만 현재 요청이 새 데이터를 가져오도록 허용합니다(변경되지 않은 경우 브라우저는 캐시에서 데이터를 가져옵니다). HTTP 헤더 Last-Modified
를 사용하여 결정합니다. jQuery 1.4부터는 서버에 지정된 'etag'도 확인하여 데이터가 수정되었는지 여부를 확인합니다. 🎜🎜🎜🎜isLocal🎜---🎜🎜🎜Boolean 유형 🎜1.5.1 New 🎜🎜🎜🎜🎜기본값: 현재 위치 프로토콜에 따라 다릅니다. 🎜允许将当前环境视作"本地",(例如文件系统),即使默认情况下jQuery不会如此识别它。目前,以下协议将被视作本地:file
、*-extension
和widget
。
重写JSONP请求的回调函数名称。该值用于替代"url?callback=?"中的"callback"部分。
为JSONP请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。
从jQuery 1.5开始,你也可以指定一个函数来返回所需的函数名称。
一个mime类型用来覆盖XHR的mime类型。
用于响应HTTP访问认证请求的密码。
默认值:true
。
默认情况下,通过<span id="4_nwp">data</span>
属性传递进来的数据,如果是一个对象(技术上讲,只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM树信息或其它不希望转换的信息,请设置为false
。
设置该请求加载的脚本文件的字符集。只有当请求时dataType为"jsonp"或"script",并且type是"GET"才会用于强制修改charset。这相当于设置