zoukankan      html  css  js  c++  java
  • 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

       

    
    
    
    
    
  • 相关阅读:
    73. Set Matrix Zeroes
    289. Game of Live
    212. Word Search II
    79. Word Search
    142. Linked List Cycle II
    141. Linked List Cycle
    287. Find the Duplicate Number
    260. Single Number III
    137. Single Number II
    Oracle EBS中有关Form的触发器的执行顺序
  • 原文地址:https://www.cnblogs.com/Dream2hc/p/web66560123.html
Copyright © 2011-2022 走看看