jquery下ajax异步执行操作笔记

1、首先导入jquery的js文件

2、在脚本function中添加以下代码:

$.ajax( {

      cache : false,  // (默认: true) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息

      ifModified  : true,  //(默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。

      type : 'POST',  //(默认: "GET") 设置请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。

      timeout  :  5000, //设置请求超时时间(毫秒)。此设置将覆盖全局设置。

      url : 'contractAdmin',  //设置请求路径

     data : {  //设置发送请求时传递的参数,前面是key,后面是value,中间用冒号隔开,各参数之间用逗号隔开,最后一个参数后没有逗号或其它任何符号。
       'operation' : '7',  

       'contractChipId' : param      

       },

     //或者直接序列化一个form表单

     data : $("#form2").serialize(),

     success : function(data) {

         //ajax请求发送成功进入该方法,data是异步返回的数据,在此进行处理。

         //当dataType为‘html’的时候,data就是返回的html值,

         //当dataType为‘json’的时候,可以通过$.each(data,function(x,args){})遍历返回值,data是返回的json格式的list内容,

         // x 是遍历的次数,从 0 开始,args是集合中的单个对象,可以通过json中的key获取到对应的value :args.name
      },

     error : function(data) {
              //(默认: 自动判断 (xml 或 html)) 请求失败时调用。参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。
      },    

    complete: function(data) {

          //请求完成后回调函数 (请求成功或失败时均调用)。参数:XMLHttpRequest 对象,成功信息字符串。

     },     

    beforeSend  : function(data){

       // 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。譬如加载等待图片等。

    },

     dataType : 'text'  //预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,

                         并作为回调函数参数传递,可用值:

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

                         "html": 返回纯文本 HTML 信息;包含 script 元素。

                         "script": 返回纯文本 JavaScript 代码。不会自动缓存结果。

                         "json": 返回 JSON 数据 。

                         "jsonp": JSONP格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
     });

注:以上属性可选择性使用,详见jquery API帮助文档 AJAX部分

3、在响应请求的后台中做如下响应:

      response.setContentType("application/text;charset=UTF-8");
      response.getWriter().write(status);
      return;

    response.setContentType("application/json;charset=UTF-8");
    String json = "{\"leng\":\"0\"}";//或者从数据库查询相关信息赋给Bean对象,然后重写Bean类的toString()方法为json格式,将对象toString写回。
    response.getWriter().write(json);
    return;

 

示例:

$.ajax( {//页面
      cache : false,
      type : 'POST',
      url : 'contractAdmin',
      data : {
       'operation' : '7',
       'contractChipId' : param
      },
      success : function(data) {
       if(data == 1){
        $("#tr"+param).html("");//清除tr
        $(window.parent.document).find("body").messagebox('恭喜,删除成功', '', 1, 1000);
       }
      },
      error : function() {
       $(window.parent.document).find("body").messagebox('很遗憾,删除失败', '', 0, 1000);
      },
      dataType : 'text'
     });

//响应请求端(后台)

   response.setContentType("application/text;charset=UTF-8");
   response.getWriter().write(status);
   return;

或者

$.ajax( {
  cache : false,
  type : 'POST',
  url : $("#JSON").val(),
  data : {
   'JSONChildren' :  $("#JSONChildren").val()
  },
  success : function(data) {
   $("#JSONLast").html("<option value='0'>请选择 </option>");
   $.each(data, function(x, args) {//遍历返回值
    $("#JSONLast").append(
      "<option value='" + args.id + "'>" + args.name + "</option>");
   });
  },
  error : function(x, y, z) {
   alert(x + "|\n" + y + "|\n" + z);
  },
  dataType : 'json'
 });

 

//后台

List<Police> policeList = getLastPolice(strPoliceId);
  if(policeList == null){
   policeList = new ArrayList<Police>();
  }
  response.setContentType("application/json;charset=UTF-8");
  response.getWriter().write(policeList.toString());

 

/**
  * 为使本类可以被JSON解析,覆写toString方法
  */
 @Override
 public String toString() {
  return "{\"id\":\"" + policeId + "\",\"name\":\"" + policeName + "\"}";
 
}
posted @ 2013-04-07 18:29  Handy~~💪  阅读(129)  评论(0编辑  收藏  举报