jQuery ajax用法与ajax学习笔记

作者:简简单单 2013-08-27

.$.post(url, params, callback) 用post的方式下载一个页面返回XMLHttpRequest

url: 请求的页面

params:表示请求的要发送的参数.

callback: 请求结束后,调用的方法

eg:

 代码如下 复制代码
$.post("test.cgi",
{ name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
}
);


ajaxStart(callback) 当ajax请求发送前,将触发callback.

eg;

 代码如下 复制代码

$("#loading").ajaxStart(function(){
  $(this).show();
});

ajaxSend(callback)当ajax请求发送时触发callback,参数是XMLHttpRequest和settings请求设置eg:

 代码如下 复制代码
$("#msg").ajaxSend(function(request, settings){
  $(this).append("
  • Starting request at " + settings.url + "
  • ");
    });

    ajaxComplete(callback)当一个ajax请求完成时调用callback.回调参数为XMLHttpRequest和settings请求设置eg:

     代码如下 复制代码
    $("#msg").ajaxComplete(function(request, settings){
      $(this).append("
  • Request Complete.
  • ");
    });

    ajaxSuccess(callback)当一个ajax请求成功时调用回调参数为XMLHttpRequest和settings请求设置eg:

     代码如下 复制代码
    $("#msg").ajaxSuccess(function(request, settings){
      $(this).append("
  • Successful Request!
  • ");
    });

    ajaxError(callback)当一个ajax请求失败时调用回调参数为XMLHttpRequest和settings请求设置eg:

     代码如下 复制代码
    $("#msg").ajaxError(function(request, settings){
      $(this).append("
  • Error requesting page " + settings.url + "
  • ");
    });

    ajaxStop(callback)当所有的ajax请求结束时,将触发callback

    eg:

     代码如下 复制代码
    $("#loading").ajaxStop(function(){
      $(this).hide();
    });

    load(url, params, callback)加载url的内容,并把得到的内容插入到DOM中去. 注意:避免去获取script脚本.可以用$.getScripturl:请求的页面,params:发送的参数.callback: 调用完成后的回调函数.eg:

     代码如下 复制代码
    $("#feeds").load("feeds.html")==>
    45 feeds found.
    ;

    loadIfModified(url, params,callback)功能与85点的load方法一模一样.唯一的区别是,当服务器端根据LastModify判断出没有什么改动的话.就不进行请求.也不进行dom插入.

    serialize()这是一个十分有用的方法.一般用来序列化进行ajax请求的参数.十分方便eg

     代码如下 复制代码

    :
    $("input[@type=text]").serialize();==>name=John&location=Boston


     

    .$.ajax(params)这个方法是jQuery中调用ajax的最基本方法,功能十分强大.参数是一个对象.所有的参数用key:value的形式设置

    下面主要介绍一下各种参数:

    (string)url: 要请求的网址,可以把参数get参数设置到url上面

    (string)type: 请求的类型,可以是Post与get,默认情况下是GET

    (string)dataType: 你所期望返回的数据格式,可以是xml,html,script,json.最终返回类型还是服务器决定.

    (Boolean)ifModified:只当返回值改变的时候才会成功返回正确值.主要判断依据是请求头的Last-Modified.默认情况下,这个值设置为false

    (Number)timeout:设置请求时间,这个时间会替换全局的时间($.ajaxTimeout)

    (Boolean)global:是否触发全局的ajax事件句柄.例如ajaxStart,ajaxStop.默认情况是true

    (Function)error: 请求错误处理的函数.

    (Function)success: 请求成功处理的函数.

    (Function)complete:请求完成处理的函数.

    (Object|string)data:发送到服务器端的数据.如果不是字符串,则被转化成字符串,被加到url上面,做为查询字符串.如果不想用默认的方式处理,可以设置processData状态.

    (Boolean)processData.默认情况是true,把object转化成string,做查询字符串.可以设置为false,则以DOMDocments发送.

    (String)contentType.默认是"application/x-www-form-urlencoded",一般情况不用修改.

    (Boolean)async .默认值为true.表示异步请求,如果想改成同步.只要把设为false就可以了.

    (Function)beforeSend.用于对在发送请求之前,对请求头的设置.有XMLHttpRequest做为参数

    例子:

    取一个js文件.

     代码如下 复制代码

    $.ajax({
      type: "GET",
      url: "test.js",
      dataType: "script"
    })

    post数据到服务器端,并且成功时提示用户.

     代码如下 复制代码

    $.ajax({
      type: "POST",
      url: "some.php",
      data: "name=John&location=Boston",
      success: function(msg){
        alert( "Data Saved: " + msg );
      }
    });

    同步请求数据

     代码如下 复制代码

    var html = $.ajax({
     url: "some.php",
     async: false
    })

    .responseText;传送domdocument,data将不会被强行转化.var xmlDocument = [create xml document];

     代码如下 复制代码
    $.ajax({
      url: "page.php",
      processData: false,
      data: xmlDocument,
      success: handleResponse
    });


    $.ajaxSetup(settings)设置一个全局的ajax变量.一般用来设置一些公用的请求头设置.

     代码如下 复制代码
    $.ajaxSetup( {
      url: "/xmlhttp/",
      global: false,
      type: "POST"
    } );
    $.ajax({ data: myData });

    $.ajaxTimeout(time) 设置全局ajax请求时间,当time为0或者null时表示不限时间$.ajaxTimeout( 5000 ); //表示最长5秒请求.

    $.get(url, params, callback)下载一个页面.url:页面地址,params: 参数,是key/value的mapcallback: 请求结束后调用的方法eg:

     代码如下 复制代码
    $.get("test.cgi",
      { name: "John", time: "2pm" },
      function(data){
        alert("Data Loaded: " + data);
      }
    );

    $.getIfModified(url, params, callback)与get一样,不同之处在于如果请求的页面返回值不变的话,就不处理请求.

     代码如下 复制代码

    $.getJSON(url, params,callback)与$.get一样,返回值是用json格式后好的.

    $.getScript(url, callback)下载脚本文件,并运行.eg:$.getScript("test.js", function(){
      alert("Script loaded and executed.");
    });

    相关文章

    精彩推荐