加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax的属性

发布时间:2020-12-16 02:57:17 所属栏目:百科 来源:网络整理
导读:1、属性列表 url : ? ? (默认: 当前页地址) 发送请求的地址。 type: ? (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。 timeout:? ? 设置请求超时时间(毫秒)。此

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读