• Ajax的属性


    1、属性列表

    url:     (默认: 当前页地址) 发送请求的地址。

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

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

    async:   (默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。 

    beforeSend: 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。

                   function (XMLHttpRequest) {
                      this; // the options for this ajax request
                   }

    cache: (默认: true) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。
    complete:
    请求完成后回调函数 (请求成功或失败时均调用)。参数: XMLHttpRequest 对象,成功信息字符串。
                   function (XMLHttpRequest, textStatus) {
                      this; // the options for this ajax request
                   }

    contentType: (默认: "application/x-www-form-urlencoded") 发送信息至服务器时内容编码类型。默认值适合大多数应用场合。
    data:
    发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。
    dataType:

                预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值:

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

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

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

                "json": 返回 JSON 数据 。

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

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

      error:  (默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。

    function (XMLHttpRequest, textStatus, errorThrown) {
          // 通常情况下textStatus和errorThown只有其中一个有值 
          this; // the options for this ajax request
    }

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

            function (data, textStatus) {

                // data could be xmlDoc, jsonObj, html, text, etc...
                this; // the options for this ajax request
            }

     注意:   

            1、success : 当请求成功时调用的函数。这个函数会得到一个参数:从服务器返回的数据。当请求成功时调用函数,即status==200。
            2、complete :当请求完成时调用的函数。这个函数会得到两个参数:XMLHttpRequest对象和一个描述请求成功的类型的字符串。当请求完成时调用函数,即status==404、403、302...。

            3、 data主要方式有三种,html拼接的,json数组,form表单经serialize()序列化的;通过dataType指定,不指定智能判断。

            4、$.ajax只提交form以文本方式,如果异步提交包含<file>上传是传过不过去,需要使用    jquery.form.js   的$.ajaxSubmit

    2、实例

          1、$.ajax的一般格式

    $.ajax({
          type: "post",
          url: url,
          dataType:'html',
          success: function(data) { },
          complete: function(XMLHttpRequest, textStatus) { },
          error: function(){}
    });

         2、文件上传,下文使用form的id进行提交数据,或者使用$.ajaxSubmit提交。

         其中关键要素

         a、contentType:(默认: "application/x-www-form-urlencoded") 发送信息至服务器时内容编码类型。默认值适合大多数情况。如果你明确地传递了一个content-type给 $.ajax(),那么他必定会发送给服务器(即使没有数据要发送)

        b、 processData:(默认: true) 默认情况下,都会处理转化成一个查询字符串,以配合默认内容类型。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。

        c、FormData: 比起普通的ajax,使用FormData的最大优点就是我们可以异步上传一个二进制文件。

    var uploading = true;
    if(uploading){
      $.ajax({
            url: ctx + "/xxx/upload",
            type: 'POST',
            cache: false,
            data: new FormData($('#infoLogoForm')[0]),
            processData: false,
            contentType: false,
            dataType:"json",
            beforeSend: function(){
                uploading = false;
            },
            success : function(data) {
                uploading = true;
            }
        });
    }

    3、引用资料:

       https://www.cnblogs.com/jpfss/p/9479595.html

       https://www.cnblogs.com/henuyuxiang/p/6656001.html

       

    
    
    
    
    
  • 相关阅读:
    一些常用的方法(1)--去除DataTable中的重复数据
    皕杰报表入门知识(1)
    Red Hat 6.0 Linux系统跳过登录界面直接进入系统
    解决pycharm无法获取安装包文件列表
    sqlalchemy创建数据库自动映射
    python3使用importlib来重复加载模块
    python3使用exec来动态加载模块
    中间件datasnap用流传递数据
    使用fdmemTable来代替clientDataset,解决MySQL5.6(含)以上版本用cds多次更新时的错误
    dxSpreadSheet动态切换Sheet
  • 原文地址:https://www.cnblogs.com/Dream2hc/p/web66560123.html
Copyright © 2020-2023  润新知