jQuery Ajax--Ajax请求

函数列表

函数 说明
$.ajax() 用于通过后台HTTP请求加载远程数据。
$.get() 用于通过HTTP GET形式的AJAX请求获取远程数据。
$.post() 用于通过HTTP POST形式的AJAX请求获取远程数据。
$.getJSON() 用于通过HTTP GET形式的AJAX请求获取远程JSON编码的数据。
$.getScript() 用于通过HTTP GET形式的加载JavaScript文件并运行它。

函数说明

jQuery.ajax()

jQuery.ajax()函数用于通过后台HTTP请求加载远程数据。

jQuery.ajax()函数是jQuery封装的AJAX技术实现,通过该函数,我们无需刷新当前页面即可获取远程服务器上的数据。

jQuery.ajax()函数是jQuery的底层AJAX实现。jQuery.get()、 jQuery.post()、 load()、 jQuery.getJSON()、 jQuery.getScript()等函数都是该函数的简化形式(都调用该函数,只是参数设置有所不同或有所省略)。

该函数属于全局jQuery对象(也可理解为静态函数)。

语法

  • $.ajax( [ settings ] ] )

jQuery 1.0 新增该静态函数。

  • $.ajax( url [, settings ]] )

jQuery 1.5 新增支持

用法二是用法一的变体,它只是将参数对象settings中的可选属性url单独提取出来作为一个独立的参数。

参数说明

函数 说明
url String类型 发送的内容类型请求头,用于告诉服务器——浏览器可以接收服务器返回何种类型的响应。
settings 可选/Object类型一个Object对象,其中的每个属性用来指定发送请求所需的额外参数设置。

参数settings是一个对象,jQuery.ajax()可以识别该对象的以下属性(它们都是可选的):

属性 默认值 说明
accepts 取决于dataType属性 Object类型 URL请求字符串。
async true Boolean类型 指示是否是异步请求。同步请求将锁定浏览器,直到获取到远程数据后才能执行其他操作。
cache true(dataType为’script’或’jsonp’时,则默认为false)。 Boolean类型 指示是否缓存URL请求。如果设为false将强制浏览器不缓存当前URL请求。该参数只对HEAD、GET请求有效(POST请求本身就不会缓存)。
beforeSend Function类型 指定在请求发送前需要执行的回调函数。该函数还有两个参数:其一是jqXHR对象,其二是当前settings对象。这是一个Ajax事件,如果该函数返回false,将取消本次ajax请求。
complete Function/Array类型 指定请求完成(无论成功或失败)后需要执行的回调函数。该函数还有两个参数:一个是jqXHR对象,一个是表示请求状态的字符串(‘success’、 ‘notmodified’、 ‘error’、 ‘timeout’、 ‘abort’或’parsererror’)。这是一个Ajax事件。从jQuery 1.5开始,该属性值可以是数组形式的多个函数,每个函数都将被回调执行。
contents 1.5 新增 Object类型 一个以”{字符串:正则表达式}”配对的对象,用来确定jQuery将如何解析响应,给定其内容类型。
contentType ‘application/x-www-form-urlencoded; charset=UTF-8’ String类型 使用指定的内容编码类型将数据发送给服务器。W3C的XMLHttpRequest规范规定charset始终是UTF-8,你如果将其改为其他字符集,也无法强制浏览器更改字符编码。
context Object类型 用于设置Ajax相关回调函数的上下文对象(也就是函数内的this指针)。
converters 1.5 新增,默认值:{‘* text’: window.String, ‘text html’: true, ‘text json’: jQuery.parseJSON, ‘text xml’: jQuery.parseXML} String类型 一个数据类型转换器。每个转换器的值都是一个函数,用于返回响应转化后的值。
crossDomain 1.5 新增,默认值:同域请求为false,跨域请求为true Boolean类型 指示是否是跨域请求。如果你想在同一域中强制跨域请求(如JSONP形式),请设置为true。例如,这允许服务器端重定向到另一个域。
data 任意类型 发送到服务器的数据,它将被自动转为字符串类型。如果是GET请求,它将被附加到URL后面。
dataFilter Function类型 指定处理响应的原始数据的回调函数。该函数还有两个参数:其一表示响应的原始数据的字符串,其二是dataType属性字符串。
dataType jQuery智能猜测,猜测范围(xml、 json、 script或html) String类型 指定返回的数据类型。该属性值可以为:
’xml’ :返回XML文档,可使用jQuery进行处理;
’html’: 返回HTML字符串;
’script’: 返回JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意:在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载);
’json’: 返回JSON数据。JSON数据将使用严格的语法进行解析(属性名必须加双引号,所有字符串也必须用双引号),如果解析失败将抛出一个错误。从jQuery 1.9开始,空内容的响应将返回null或{}。’jsonp’: JSONP格式。使用JSONP形式调用函数时,如”url?callback=?”,jQuery将自动替换第二个?为正确的函数名,以执行回调函数;
’text’: 返回纯文本字符串。
global true Boolean类型 指示是否触发全局Ajax事件。将该值设为false将阻止全局事件处理函数被触发,例如ajaxStart()和ajaxStop()。它可以用来控制各种Ajax事件。
headers {} Object类型 以对象形式指定附加的请求头信息。请求头X-Requested-With: XMLHttpRequest将始终被添加,当然你也可以在此处修改默认的XMLHttpRequest值。headers中的值可以覆盖beforeSend回调函数中设置的请求头(意即beforeSend先被调用)。
ifModified false Boolean类型 允许当前请求仅在服务器数据改变时获取新数据(如未更改,浏览器从缓存中获取数据)。它使用HTTP头信息Last-Modified来判断。从jQuery 1.4开始,他也会检查服务器指定的’etag’来确定数据是否已被修改。
isLocal 取决于当前的位置协议。 Boolean类型 允许将当前环境视作”本地”,(例如文件系统),即使默认情况下jQuery不会如此识别它。目前,以下协议将被视作本地:file、*-extension和widget。
jsonp String类型 重写JSONP请求的回调函数名称。该值用于替代”url?callback=?”中的”callback”部分。
jsonpCallback false String/Function类型 为JSONP请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。从jQuery 1.5开始,你也可以指定一个函数来返回所需的函数名称。
mimeType 1.5.1 新增 String类型 一个mime类型用来覆盖XHR的mime类型。
password String类型 用于响应HTTP访问认证请求的密码。
processData true Boolean类型 默认情况下,通过data属性传递进来的数据,如果是一个对象(技术上讲,只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 “application/x-www-form-urlencoded”。如果要发送 DOM树信息或其它不希望转换的信息,请设置为false。
scriptCharset String类型 设置该请求加载的脚本文件的字符集。只有当请求时dataType为”jsonp”或”script”,并且type是”GET”才会用于强制修改charset。这相当于设置

你可能感兴趣的:(JQuery)