>  기사  >  웹 프론트엔드  >  $.ajax() 메소드의 매개변수에 대해 얼마나 알고 있나요? $.ajax() 메소드의 각 매개변수에 대한 자세한 설명

$.ajax() 메소드의 매개변수에 대해 얼마나 알고 있나요? $.ajax() 메소드의 각 매개변수에 대한 자세한 설명

寻∝梦
寻∝梦원래의
2018-09-10 15:56:121620검색

이 글에서는 주로 $.ajax() 메소드의 각 매개변수에 대한 자세한 설명을 다루고 있습니다. Ajax 매개변수에 대해 자세히 알아보고 지금 이 기사를 읽어보세요.

1.url:
에는 문자열 유형의 매개변수가 필요합니다. 기본값은 현재 페이지입니다. 주소) 요청이 전송되는 주소입니다.

2.type:
에는 문자열 유형의 매개변수가 필요하며 요청 방법(post 또는 get)은 기본적으로 get으로 설정됩니다. put 및 delete와 같은 다른 http 요청 방법도 사용할 수 있지만 일부 브라우저에서만 지원됩니다.

3.timeout:
은 숫자 유형 매개변수여야 하며 요청 시간 제한(밀리초)을 설정해야 합니다. 이 설정은 $.ajaxSetup() 메서드의 전역 설정을 재정의합니다.

4.async:
에는 부울 유형 매개변수가 필요하며 기본 설정은 true이며 모든 요청은 비동기 요청입니다. 동기 요청을 보내야 하는 경우 이 옵션을 false로 설정하세요. 동기 요청은 브라우저를 잠그며 사용자는 다른 작업을 수행하기 전에 요청이 완료될 때까지 기다려야 합니다.

5.cache:
은 부울 유형 매개변수여야 하며 기본값은 true입니다(dataType이 스크립트인 경우 기본값은 false입니다). false로 설정하면 요청 정보가 브라우저 캐시에서 로드되지 않습니다.

6.data:
Object 또는 String 유형의 매개변수가 필요하며 데이터는 서버로 전송됩니다. 문자열이 아닌 경우 자동으로 문자열 형식으로 변환됩니다. get 요청이 URL에 추가됩니다. 이러한 자동 변환을 방지하려면 processData 옵션을 볼 수 있습니다. 객체는 키/값 형식이어야 합니다. 예를 들어 {foo1:"bar1",foo2:"bar2"}는 &foo1=bar1&foo2=bar2로 변환됩니다. 배열인 경우 JQuery는 자동으로 동일한 이름을 다른 값에 할당합니다. 예를 들어, {foo:["bar1","bar2"]}는 &foo=bar1&foo=bar2로 변환됩니다.

7.dataType:
문자열 유형의 매개변수가 필요합니다. 서버에서 반환할 것으로 예상되는 데이터 유형입니다. 지정하지 않으면 JQuery는 http 패키지 MIME 정보를 기반으로 responseXML 또는 responseText를 자동으로 반환하고 이를 콜백 함수 매개 변수로 전달합니다. 사용 가능한 유형은 다음과 같습니다.
xml: JQuery로 처리할 수 있는 XML 문서를 반환합니다.
html: 일반 텍스트 HTML 정보를 반환합니다. 포함된 스크립트 태그는 DOM에 삽입될 때 실행됩니다.
script: 일반 텍스트 JavaScript 코드를 반환합니다. 결과는 자동으로 캐시되지 않습니다. 캐시 매개변수가 설정되지 않은 경우. 동일한 도메인이 아닌 원격 요청을 수행할 때 모든 게시 요청은 가져오기 요청으로 변환됩니다.
json: JSON 데이터를 반환합니다.
jsonp: JSONP 형식. myurl?callback=?과 같은 SONP 형식을 사용하여 함수를 호출할 때 JQuery는 자동으로 마지막 "?"를 올바른 함수 이름으로 대체하여 콜백 함수를 실행합니다.
text: 일반 텍스트 문자열을 반환합니다.

8.beforeSend:
에는 요청을 보내기 전에 사용자 정의 HTTP 추가와 같이 XMLHttpRequest 객체의 기능을 수정할 수 있습니다. 헤더. beforeSend에서 false가 반환되면 이 ajax 요청을 취소할 수 있습니다. XMLHttpRequest 객체가 유일한 매개변수입니다.

            function(XMLHttpRequest){
               this;   //调用本次ajax请求时传递的options参数
            }

9.complete:
에는 요청이 완료된 후 호출되는 콜백 함수인 함수 유형의 매개변수가 필요합니다(요청이 성공한 경우). 또는 실패) 전화). 매개변수: XMLHttpRequest 객체와 성공적인 요청 유형을 설명하는 문자열.

         function(XMLHttpRequest, textStatus){
             this;    //调用本次ajax请求时传递的options参数
          }

10.success:要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。
         (1)由服务器返回,并根据dataType参数进行处理后的数据。
         (2)描述状态的字符串。

         function(data, textStatus){
            //data可能是xmlDoc、jsonObj、html、text等等
            this;  //调用本次ajax请求时传递的options参数
         }

11.error:
要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。ajax事件函数如下:

       function(XMLHttpRequest, textStatus, errorThrown){
          //通常情况下textStatus和errorThrown只有其中一个包含信息
          this;   //调用本次ajax请求时传递的options参数
       }

12.contentType
要求为String类型的参数,当发送信息至服务器时,内容编码类型默认为"application/x-www-form-urlencoded"。该默认值适合大多数应用场合。

13.dataFilter
要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。

            function(data, type){
                //返回处理后的数据
                return data;
            }

14.dataFilter
要求为Function类型的参数,给Ajax返回的原始数据进行预处理的函数。提供data和type两个参数。data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。

            function(data, type){
                //返回处理后的数据
                return data;
            }

15.global
要求为Boolean类型的参数,默认为true。表示是否触发全局ajax事件。设置为false将不会触发全局ajax事件,ajaxStart或ajaxStop可用于控制各种ajax事件。

16.ifModified
要求为Boolean类型的参数,默认为false。仅在服务器数据改变时获取新数据。服务器数据改变判断的依据是Last-Modified头信息。默认值是false,即忽略头信息。

17.jsonp
要求为String类型的参数,在一个jsonp请求中重写回调函数的名字。该值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,例如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

18.username
要求为String类型的参数,用于响应HTTP访问认证请求的用户名。

19.password
要求为String类型的参数,用于响应HTTP访问认证请求的密码。

20.processData
要求为Boolean类型的参数,默认为true。默认情况下,发送的数据将被转换为对象(从技术角度来讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。

21.scriptCharset
要求为String类型的参数,只有当请求时dataType为"jsonp"或者"script",并且type是GET时才会用于强制修改字符集(charset)。通常在本地和远程的内容编码不同时使用。(想看更多就到PHP中文网AJAX开发手册栏目中学习)

案例代码:

$(function(){
    $('#send').click(function(){
         $.ajax({
             type: "GET",
             url: "test.json",
             data: {username:$("#username").val(), content:$("#content").val()},
             dataType: "json",
             success: function(data){
                         $('#resText').empty();   //清空resText里面的所有内容
                         var html = ''; 
                         $.each(data, function(commentIndex, comment){
                               html += '346aba7b39b1c0ee1f3b184fad76163a4e9ee319e0fa4abc21ff286eeb145ecc' + comment['username']
                                         + ':489364b7e0629f9745997c79a31b7c6ddffa8ba8878e0ba38ca4846ff634519594b3e26ee717c64999d7867364b1b4a3';
                         });
                         $('#resText').html(html);
                      }
         });
    });
});

22.顺便说一下$.each()函数:
$.each()函数不同于JQuery对象的each()方法,它是一个全局函数,不操作JQuery对象,而是以一个数组或者对象作为第1个参数,以一个回调函数作为第2个参数。回调函数拥有两个参数:第1个为对象的成员或数组的索引,第2个为对应变量或内容。
本篇文章到这就结束了(想看更多就到PHP中文网AJAX使用手册栏目中学习),有问题的可以在下方留言提问。

위 내용은 $.ajax() 메소드의 매개변수에 대해 얼마나 알고 있나요? $.ajax() 메소드의 각 매개변수에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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