jquery中的ajax参数

时间:2021-10-26 00:00:49

jquery中将ajax封装成了函数,我们使用起来非常方便,jquery会自动根据内容选择post还是get方式提交数据,并且会自动编码,但是要想完全掌握jquery中的ajax,我们必须将它的各个参数记住:

1、url    strng   发送请求的地址

2、type  string   请求方式(post或get,默认get),其他http请求方法,比如:put和delete也可以使用,但只有部分浏览器支持。

3、timeout   number    设置请求超时时间(毫秒)。此设置将覆盖全局设置。

4、async  bollean   是否异步请求,默认情况下为true。

5、beforeSend   function  发送请求前可以修改XMLHttpRequest对象的函数,比如自定义http请求头,在beforeSend中如果返回false可以取消本次ajax请求。XMLHttpRequest对象是唯一的参数。

function(XMLHttpRequest){

this;//调用本次ajax请求时传递的参数option;

}

6、complete    function   请求完成后的回调函数,不管请求成功或者失败都会调用;它的参数是XMLHttpRequest对象一级成功信息字符串。

         function(XMLHttpRequest,textStatus){

this;//调用本次ajax请求时传递的参数option;

}

7、contentType   string   默认是:("application/x-www-form-urlencoded");为发送信息至服务器时内容的编码类型。默认值适合大多数应用场合。

8、data     object,string     传递给服务器的数据,将自动转换为请求字符串格式。get请求会把它附加在url后面,查看processData选项说明以禁止此自动转换。必须为键值对格式,如果为数组,jquery将自动为不同的值对应同一个名称。如{foo:["bar1",bar2]}转换为"&foo=bar1&foo=bar2";

9、dataType   string    预期处理服务器返回的数据类型。如果不指定,jq将自动根据http包MIME信息返回responseXML或resonseText,并作为回调函数参数传递,可用值:

  "xml":返回XML文档,可用jq处理。

  "html":返回纯文本的HTML信息,包含script;

  "script":返回纯文本javascript代码,不会自动缓存结果;

  "json":返回JSON数据;

  "jsonp":JSONP格式;使用JSONP形式电泳函数是,如"myurl?callback=?";jq将会自动替换?为正确的函数名,以执行回调函数。

10、error  function   请求失败时将调用此方法。这个方法有三个参数:

XMLHttpRequest

对象,

错误信息,(可能)捕获的错误对象;

  

   function(XMLHttpRequest,textStatus,errorThrown){

      //通常情况下,textStatus和errorThrown

this;//调用本次ajax请求时传递的参数option;只有其中一个有值;

}

11、global   bollean   是否触发全局ajax事件,默认true,设置为false将不会触发全局ajax事件,如ajaxStart或ajaxStop。可用于控制不同的ajax事件。

12、ifModified   bollean    仅在服务器数据改变时获取新数据(默认false)。根据http包Last-Modified头信息判断。

13、processData   bollean   默认情况下,发送的数据将会被转化成对象(技术上讲并非字符串)一配合默认内容类型:"application/x-www-form-urlencoded"。如果要发送DOM数信息或其他不希望转换的信息,设为false。

14、success    function    请求成功偶的回调函数。这个方法有两个参数:服务器返回数据,返回状态:

  function(data,textStatus){

    // data could be xmlDoc, jsonObj, html, text, etc..

    this; // the options for this ajax request

  }  

代码如下:

$(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 += '<div class="comment"><h6>' + comment['username'] 

          + ':</h6><p class="para"' + comment['content'] 

          + '</p></div>'; 

        }); 
      
        $('#resText').html(html); 

      } 

    }); 

  }); 

});

jq中的ajax是面试官喜欢问的问题,也是实际工作中会经常遇到的,需要牢牢记住!