zoukankan      html  css  js  c++  java
  • 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 + "\"}";
     
    }
  • 相关阅读:
    iOS-深入理解(转载)
    iOS开发
    夜光遥感
    希尔伯特曲线在地图图像分割中的应用
    希尔伯特曲线
    NLP生成论文
    MapGIS SDK(C++)【基础篇】
    从npm到vue和nodejs
    分形在遥感和GIS中的应用
    MapReduce、Hadoop、PostgreSQL、Spark
  • 原文地址:https://www.cnblogs.com/yjtx/p/4429635.html
Copyright © 2011-2022 走看看