初学者必看的Ajax总结篇,jquery中ajax参数详解
分类:pc28.am

依靠XMLHttpRequest,浏览器能够在全体页面不刷新的场地下与服务端举行人机联作,那就是所谓的 Ajax(Asynchronous JavaScript and XML)。Ajax 可认为客商提供进一步丰盛的客户体验。

1.load(url, [data], [callback])

载入远程 HTML 文件代码并插入至 DOM 中。

暗许使用 GET 格局 - 传递附加参数时自动转变为 POST 形式。jQuery 1.第22中学,能够钦点选取符,来筛选载入的 HTML 文书档案,DOM 师长仅插入筛选出的 HTML 代码。语法形如 "url #some > selector"。

url:待装入 HTML 网页网站。

data:发送至服务器的 key/value 数据。在jQuery 1.3中也足以担任二个字符串了。

callback:载入成功时回调函数。

初读书人必看的Ajax总计篇,初读书人必须求看ajax

后生可畏、Ajax简单介绍、优劣点、应用处景以致能力

Ajax简介 :

Asynchronous Javascript And XML (异步的JavaScript和XML)

它实际不是生龙活虎种单生龙活虎的技巧,而是有机利用大器晚成雨后春笋人机联作式网页应用相关的技巧所产生的三结合体

AJAX 是风姿浪漫种用于成立快速动态网页的本事。通过在后台与服务器实行小量数据调换,AJAX 能够使网页达成异步更新。那意味着能够在不重复加载整个网页的景色下,对网页的某某个开展校正。

优点:

  1. 页面无刷新,客商体验好。
  2. 异步通讯,越来越快的响应技术。
  3. 减去冗余央求,缓解了服务器负担
  4. 听他们说标准化的并被广泛扶植的手艺,不必要下载插件或然小程序

缺点:

  1. ajax干掉了back按键,即对浏览器后退机制的磨损。
  2. 留存一定的平安主题素材。
  3. 对搜索引擎的扶植比较弱。
  4. 破坏了程序的不行机制。
  5. 不能用U奥迪Q3L直接待上访谈

ajax应用处景

  • 场景 1. 数目表明
  • 场景 2. 按需取数据
  • 场景 3. 自动更新页面

AJAX 包罗以下多少个部分:

ajax却非生机勃勃种新的本领,而是三种原始本领的结合体。它由下列技艺组合而成。

  1. 使用CSS和XHTML来表示。
  2. 采用DOM模型来交互作用和动态彰显。
  3. 多少沟通和操作技能,使用XML与XSLT
  4. 行使XMLHttpRequest来和服务器实行异步通讯。
  5. 接受javascript来绑定和调用。

在地点几中手艺中,除了XmlHttpRequest对象以外,别的具备的本事都以根据web标准还要已经获取了分布运用的,XMLHttpRequest即便前段时间还平昔不被W3C所采用,但是它已然是一个真情的专门的学业,因为日前大约全数的主流浏览器都帮助它

图片 1

第一张图特不要表明了人生观Web 应用程序的构造与行使了 AJAX 技巧的 Web应用程序的构造上的歧异

首要的差距,其实不是 JavaScript,不是 HTML/XHTML和 CSS,而是利用了 XMLHttpRequest 来向服务器异步的央浼 XML 数据

图片 2

再来看第二张图,古板的 Web 应用情势,客户的心得是与世隔阂的,点击->等待->看见新的页面->再点击->再伺机。而接收了AJAX才具之后,大部分的测算职业,都是在客户不察觉的情状下,交由服务器去做到了

图片 3

图片 4

二、创建ajax的步骤

Ajax的规律轻易的话通过XmlHttpRequest对象来向服务器发异步央求,从服务器拿到多少,然后用javascript来操作DOM而立异页面。这里面最要紧的一步正是从服务器得到诉求数据。原生创立ajax可分为以下四步

1、创建XMLHttpRequest对象

Ajax的中央是XMLHttpRequest对象,它是Ajax达成的尤为重要,发送异步央浼、选拔响应以至试行回调都以经过它来变成

具有今世浏览器(IE7 、Firefox、Chrome、Safari 以致 Opera)均内建 XMLHttpRequest 对象。

创办 XMLHttpRequest对象的语法:

var xhr = new XMLHttpRequest();

老版本的 Internet Explorer(IE5 和 IE6)使用ActiveX 对象:

var xhr = new ActiveXObject("Microsoft.XMLHTTP");

为了应对具有的现代浏览器,包涵 IE5 和 IE6,请检查浏览器是还是不是帮忙XMLHttpRequest对象。若是匡助,则创立XMLHttpRequest对象。假诺不协助,则开创ActiveXObject:

相配种种浏览器的创办Ajax的工具函数

function createRequest (){
 try {
 xhr = new XMLHttpRequest();
 }catch (tryMS){
 try {
 xhr = new ActiveXObject("Msxm12.XMLHTTP");
 } catch (otherMS) {
 try {
 xhr = new ActiveXObject("Microsoft.XMLHTTP");
 }catch (failed) {
 xhr = null;
 }
 }
 }
 return xhr;
}

2、计划号召

开首化该XMLHttpRequest对象,接收三个参数:

xhr.open(method,url,async);

首先个参数表示伏乞类型的字符串,其值能够是GET恐怕POST。

GET请求:

xhr.open("GET",demo.php?name=tsrot&age=24,true);

POST请求:

xhr.open("POST",demo.php,true);

第4个参数是要作为央浼发送对象的U酷路泽L。

其八个参数是true或false,表示要求是以异步如故一块的方式发生。(默以为true,平日不提议为false)

  • false:同步情势产生的央求会停顿全部javascript代码的进行,知道服务器获得响应甘休,尽管浏览器在连接网络时要么在下载文件时出了故障,页面就能够一贯挂起。
  • true:异步方式产生的呼吁,央求对象收发数据的同不平日候,浏览器能够持续加载页面,施行此外javascript代码

3、发送央浼

xhr.send();

诚如意况下,使用Ajax提交的参数多是些轻松的字符串,能够一贯动用GET方法将在付出的参数写到open方法的url参数中,那时候send方法的参数为null或为空。

GET请求:

xhr.open("GET",demo.php?name=tsrot&age=24,true);
xhr.send(null);

POST请求:

大器晚成经须要像 HTML 表单那样 POST 数据,请使用 setRequestHeader()来添加 HTTP 头。然后在send()办法中明确您愿意发送的数码:

xhr.open("POST",demo.php,true);
xhr.setRequestHeder("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
xhr.sen

4、管理响应

xhr.onreadystatechange = function(){
 if(xhr.readyState == 4 && xhr.status == 200){
 console.log(xhr.responseText);
 }
}

onreadystatechange :当管理进程爆发变化的时候实行下边包车型客车函数

readyState :ajax管理进程

      0:需要未开端化(还平素不调用 open() )。

      1:央浼已经确立,不过还不曾发送(还从未调用 send())。

      2:诉求已发送,正在管理中(平时今后得以从响应中收获内容头)。

      3:央浼在管理中;常常响应中原来就有点数据可用了,可是服务器还并未有到位响应的浮动。

      4:响应已成功;您可以得到并应用服务器的响应了。

status属性:

  • 200:”OK”
  • 404: 未找到页面

responseText:得到字符串方式的响应数据

responseXML:得到 XML格局的响应数据

指标转变为JSON格式使用JSON.stringify

json调换为指标格式用JSON.parse()

再次回到值日常为json字符串,能够用JSON.parse(xhr.responseText)转化为JSON对象

从服务器传回的多少是json格式,这里做叁个例证表明,如何运用

1、首先须要从XMLHttpRequest对象取回数据那是一个JSON串,把它调换为确实的JavaScript对象。使用JSON.parse(xhr.responseText)转化为JSON对象

2、遍历获得的数组,向DOM中加多新因素

function example(responseText){
var saleDiv= document.getElementById("sales");
var sales = JSON.parse(responseText);
 for(var i=0;i<sales.length;i  ){
 var sale = sales[i];
 var div = document.createElement("div");
 div.setAttribute("class","salseItem");
 div.innerHTML = sale.name   sale.sales;
 salseDiv.appendChild(div);
 }
}

图片 5

5、完整例子

var xhr = false;
 if(XMLHttpRequest){
 xhr = new XMLHttpRequest();
 }else{
 xhr = new ActiveXObject("Microsoft.XMLHTTP");
};
if(xhr) {//如果xhr创建失败,还是原来的false
 xhr.open("GET","./data.json",true);
 xhr.send();
 xhr.onreadystatechange = function(){
 if(xhr.readyState == 4 && xhr.status == 200){
 console.log(JSON.parse(xhr.responseText).name);
 }
 }
}

data.json

{
 "name":"tsrot",
 "age":24
}

本条历程是确定要记在脑子里的

function ajax(url, success, fail){
 // 1. 创建连接
 var xhr = null;
 xhr = new XMLHttpRequest()
 // 2. 连接服务器
 xhr.open('get', url, true)
 // 3. 发送请求
 xhr.send(null);
 // 4. 接受请求
 xhr.onreadystatechange = function(){
 if(xhr.readyState == 4){
 if(xhr.status == 200){
 success(xhr.responseText);
 } else { // fail
 fail && fail(xhr.status);
 }
 }
 }
}

XMLHttpRequest 在异步诉求远程数据时的办事流程

谈谈JSONP

要会见web服务器的数额除了XMLHttpRequest外还恐怕有风姿洒脱种艺术是JSONP

如果HTML和JavaScript与数码相同的时候在同二个机器上,就足以接受XMLHttpRequest

什么是JSONP?

JSONP(JSON with Padding卡塔尔(英语:State of Qatar)是多个地下的协商,它同意在服务器端集成Script tags再次回到至客商端,通过javascript callback的花样落到实处跨域访问(那独有是JSONP轻松的贯彻情势)

JSONP有如何用?

鉴于同源战略的节制,XmlHttpRequest只允许哀告当前源(域名、左券、端口)的能源,为了贯彻跨域诉求,能够因而script标签达成跨域乞求,然后在服务端输出JSON数据并施行回调函数,进而缓慢解决了跨域的多寡诉求

怎么行使JSONP?

在客商端表明回调函数之后,客商端通过script标签向服务器跨域央求数据,然后服务端重返相应的数量并动态推行回调函数
用XMLHttpRequest时,大家收获叁个字符串;要用JSON.parse把字符串转变成对象,使用jsonp时,script标识会深入深入分析并施行回来的代码,等大家管理多少时,已是四个JavaScript对象了

简言之实例

<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 
<script type="text/javascript"> 
 function jsonpCallback(result) { 
 alert(result.a); 
 alert(result.b); 
 alert(result.c); 
 for(var i in result) { 
 alert(i ":" result[i]);//循环输出a:1,b:2,etc. 
 } 
 } 
</script> 
<script type="text/javascript" src="http://www.bestsilkbedding.com/uploads/allimg/191207/005P46126-5.jpg"></script> 
<!--callback参数指示生成JavaScript代码时要使用的函数jsonpcallback-->

小心浏览器的缓慰藉题

  • 在最终扩大叁个自由数可幸免频仍伏乞同一个链接现身的缓慰难点
  • `

三、 jQuery中的Ajax

jQuery中的ajax封装案例

//ajax请求后台数据
var btn = document.getElementsByTagName("input")[0];
btn.onclick = function(){

 ajax({//json格式
 type:"post",
 url:"post.php",
 data:"username=poetries&pwd=123456",
 asyn:true,
 success:function(data){
 document.write(data);
 }
 });
}
//封装ajax
function ajax(aJson){
 var ajx = null;
 var type = aJson.type || "get";
 var asyn = aJson.asyn || true;
 var url = aJson.url; // url 接收 传输位置
 var success = aJson.success;// success 接收 传输完成后的回调函数
 var data = aJson.data || '';// data 接收需要附带传输的数据

 if(window.XMLHttpRequest){//兼容处理
 ajx = new XMLHttpRequest();//一般浏览器
 }else
 {
 ajx = new ActiveXObject("Microsoft.XMLHTTP");//IE6 
 }
 if (type == "get" && data)
 {
 url  ="/?" data "&" Math.random();
 }

 //初始化ajax请求
 ajx.open( type , url , asyn );
 //规定传输数据的格式
 ajx.setRequestHeader('content-type','application/x-www-form-urlencoded');
 //发送ajax请求(包括post数据的传输)
 type == "get" ?ajx.send():ajx.send(aJson.data);

 //处理请求
 ajx.onreadystatechange = function(aJson){

 if(ajx.readState == 4){

 if (ajx.status == 200 && ajx.status<300)//200是HTTP 请求成功的状态码
 {
 //请求成功处理数据
 success && success(ajx.responseText);
 }else{
 alert("请求出错" ajx.status);

 }
 }

 }

jQuery中的Ajax的局地格局

jquery对Ajax操作进行了包装,在jquery中的$.ajax()艺术归属最尾部的措施,第2层是load()$.get()$.post();第3层是$.getScript()$.getJSON(),第2层使用功能超高

load()方法

load()措施是jquery中最简便易行和常用的ajax方法,能载入远程HTML代码并插入DOM中 构造为:load(url,[data],[callback])

利用url参数钦赐选择符能够加载页面内的有些因素 load方法中url语法:url selector 注意:url和选拔器之间有一个空格

传送情势

load()措施的传递方式基于参数data来机关钦赐,若无参数字传送递,则接收GET方式传送,反之,选用POST

回调参数

不得不在加载成功后才执行的操作,该函数有五个参数 分别表示呼吁再次回到的剧情、诉求状态、XMLHttpRequest对象
如若需要完结,回调函数就能够被触发

$("#testTest").load("test.html",function(responseText,textStatus,XMLHttpRequest){
 //respnoseText 请求返回的内容
 //textStatus 请求状态 :sucess、error、notmodified、timeout
 //XMLHttpRequest 
})

load方法参数

参数名称

类型

说明

url

String

请求HTML页面的URL地址

data(可选)

Object

发送至服务器的key / value数据

callback(可选)

Function

倡议实现时的回调函数,无论是央浼成功依然诉讼失败

$.get()和$.post()方法

load()艺术日常用来从web服务器上收获静态的数据文件。在档案的次序中供给传递一些参数给服务器中的页面,那么能够行使$.get()$.post()$.ajax()方法

注意:$.get()$.post()措施是jquery中的全局函数

$.get()方法

$.get()格局应用GET格局来扩充异步央浼

结构为:$.get(url,[data],callback,type)

倘诺服务器重回的内容格式是xml文书档案,需求在服务器端设置Content-Type类型 代码如下: header("Content-Type:text/xml:charset=utf-8") //php

$.get(卡塔尔(قطر‎方法参数解析

参数

类型

说明

url

String

号召HTML页之处

data(可选)

Object

发送至服务器的key/ value 数据会作为QueryString附加到央求U纳瓦拉L中

callback(可选)

Function

载入成功的回调函数(唯有当Response的归来状态是success才调用该办法)

type(可选)

String

服务器重返内容的格式,蕴含xml、html、script、json、text和_default

$.post()方法

它与$.get()措施的架商谈采纳方法相近,宛如下分化

  • GET诉求会将参数跟张乃UEnclaveL后打开传递,而POST央求则是当作Http消息的实行业内部容发送给web服务器,在ajax央求中,这种不一样对客户不可知
  • GET格局对传输数据有大大小小限制(常常不可能超越2KB),而选用POST方式传递的数据量要比GET形式大得多(理论不受限定)
  • GET情势号令的多少会被浏览器缓存起来,因而别的人能够从浏览器的历史纪录中读取这个数据,如:账号、密码。在某种情状下,GET模式会带给悲戚的平安难点,而POST相对来说可以免止那么些难点
  • GET和POST方式传递的多寡在服务端的得到也不风流倜傥致。在PHP中,GET方式用$_GET[]获取;POST方式用$_POST[]获取;两种艺术都可用$_REQUEST[]来获取

总结

使用load()$.get()$.post()办法成功了一些经常化的Ajax程序,倘使还亟需复杂的Ajax程序,就供给运用$.ajax()方式

$.ajax()方法

$.ajax()格局是jquery最尾巴部分的Ajax完结,它的组织为$.ajax(options)

该办法唯有二个参数,但在此个指标里含有了$.ajax()方法所急需的乞求设置以至回调函等消息,参数以key / value存在,全部参数都是可选的

$.ajax(卡塔尔国情势常用参数分析

参数

类型

说明

url

String

(默以为当前页地址卡塔尔(قطر‎发送央求的地点

type

String

号召方式(POST或GET)暗许为GET

timeout

Number

安装供给超时时间(微秒)

dataType

String

预料服务器重回的类别。可用的种类如下

xml:返回XML文档,可用jquery处理
html:重临纯文本的HTML信息,包蕴的script标签也会在插入DOM时进行
script:返回纯文本的javascript代码。不会自动缓存结果,除非设置cache参数。注意:在中远间距诉求时,全数的POST诉求都将转为GET央求
json:返回JSON数据
jsonp:JSONP格式,使用jsonp格局调用函数时,举个例子:myurl?call back=?,jquery将电动替换后贰个?为不易的函数名,以执行回调函数
text:重临纯文本字符串

beforeSend

Function

出殡乞求前能够改善XMLHttpRequest对象的函数,比方增加自定义HTTP头。在beforeSend中假若回去false能够裁撤本次Ajax央求。XMLHttpRequest对象是天下第一的参数
function(XMLHttpRequest){
this;//调用此番Ajax央浼时传递的options参数
}

complete

Function

伸手达成后的回调函数(恳求成功或战败时都调用)
参数:XMLHttpRequest对象和二个汇报成功须求类型的字符串
function(XMLHttpRequest,textStatus){
this;//调用此番Ajax央求时传递的options参数
}

success

Function

央浼成功后调用的回调函数,有多个参数
(1卡塔尔由服务器重返,并依据dataTyppe参数举办拍卖后的数量
(2卡塔尔描述状态的字符串
function(data,textStatus){
//data可能是xmlDoc、``jsonObj、html、text等
this;//调用此次Ajax央求时传递的options参数
}

error

Function

伸手退步时被调用的函数

global

Boolean

默以为true。表示是不是接触全局Ajax事件,设置为false将不会接触。AjaxStart或AjaxStop可用于调节种种Ajax事件

参考

锋利的jQuery

总结

如上正是那篇文章的全体内容了,希望本文的始末对大家的就学也许工作能拉动一定的帮衬,若是有疑点大家能够留言沟通。

大器晚成、Ajax简单介绍、优短处、应用途景以致技艺 Ajax简要介绍 : Asynchronous Javascript And XML (异步的JavaScript和...


Ajax 诉求由 JavaScript 驱动,通过 JavaScript 代码向 U路虎极光L 发送四个乞请,待服务端有响应时会触发三个回调函数,能够在这里地回调函数里面管理服务端重回的新闻。由于一切发送央求和响应的历程是异步的,所以在这时候期页面中其它Javascript 代码依旧继续实行,不会中断。

2.jQuery.get(url, [data], [callback], [type])

由当中间距 HTTP GET 要求载入消息。

那是一个简易的 GET 伏乞功用以取代复杂 $.ajax 。哀告成功时可调用回调函数。要是急需在一念之差开上下班时间实行函数,请使用 $.ajax。

url:待载入页面包车型大巴U福特ExplorerL地址

data:待发送 Key/value 参数。

callback:载入成功时回调函数。

type:再次来到内容格式,xml, html, script, json, text, _default。

title: $.ajax参数详细解释
date: 2017-04-08 15:25:57
tags: ajax
categories: ajax

jQuery 对 Ajax 当然也提供了很好的扶持,并且还浮泛了各样浏览器对于 Ajax 扶植地点另人难过的间距。它不光提供了全职能的 $.ajax,$.getScript,$.post 等更是便利的主意。

3.jQuery.post(url, [data], [callback], [type])

透过远程 HTTP POST 央浼载入消息。

那是三个轻松的 POST 央浼功效以代替复杂 $.ajax 。央求成功时可调用回调函数。要是需求在失误时举行函数,请使用 $.ajax。

url:发送乞求地址。

data:待发送 Key/value 参数。

callback:发送成功时回调函数。

type:重返内容格式,xml, html, script, json, text, _default。


固然被命名叫 Ajax,可是洋洋 Ajax 应用并不曾行使 XML,非常是 jQuery 方面包车型大巴 Ajax 应用,大比相当多都未曾动用 XML;反而用得比比较多的场地是:纯文本、HTML 以及 JSON(JavaScript Object Notation)。

4.jQuery.getJSON(url, [data], [callback])

由此 HTTP GET 央求载入 JSON 数据。

在 jQuery 1.第22中学,您能够透过动用JSONP款式的回调函数来加载别的网域的JSON数据,如 "myurl?callback=?"。jQuery 将自动替换 ? 为正确的函数名,以实施回调函数。 注意:此行之后的代码将在此个回调函数实施前试行。

url:发送哀求地址。

data:待发送 Key/value 参数。

callback:载入成功时回调函数。

jquery中的ajax的各种参数的详实解读

参数

貌似景观下,由于同源计策的界定,Ajax 并不可能跨域试行央求,除非动用诸如 JSONP 之类的方案,本事完成部分受限的跨域作用。至于 Ajax 的一些尤为重要概念

5.jQuery.getScript(url, [callback])

透过 HTTP GET 须求载入并施行一个 JavaScript 文件。

jQuery 1.2 版本以前,getScript 只可以调用同域 JS 文件。 1.第22中学,您能够跨域调用 JavaScript 文件。注意:Safari 2 或更早的版本不可能在全局功能域中国共产党同试行脚本。要是因此 getScript 参与脚本,请步向延时函数。

url:待载入 JS 文件地点。

callback:成功载入后回调函数。

options

类型:Object
可选。AJAX 要求设置。全部选项都以可选的。

GET vs POST,这是三种最常用的向服务端发送诉求的不二秘诀,准确明白那三种办法的分裂对于 Ajax 开荒非常重大。

6.jQuery.ajax(url,[settings])

经过 HTTP 恳求加载远程数据。

jQuery 底层 AJAX 实现。简单易用的高层落成见 $.get, $.post 等。$.ajax(卡塔尔(英语:State of Qatar)再次回到其创建的 XMLHttpRequest 对象。大大多状态下你无需直接操作该函数,除非您必要操作不时用的选项,以博得越来越多的灵活性。

最简便易行的情形下,$.ajax(卡塔尔能够不带任何参数直接利用。

注意,全数的选项都得以因此$.ajaxSetup(卡塔尔(英语:State of Qatar)函数来全局设置。

回调函数

比方要拍卖$.ajax(卡塔尔(قطر‎得到的数额,则要求动用回调函数。beforeSend、error、dataFilter、success、complete。

  • beforeSend 在出殡和安葬诉求在此以前调用,并且传入五个XMLHttpRequest作为参数。
  • error 在乞请出错开上下班时间调用。传入XMLHttpRequest对象,描述不当类型的字符串甚至一个特别对象(尽管有的话)
  • dataFilter 在乞请成功现在调用。传入再次回到的多少以致"dataType"参数的值。而且必需重临新的多寡(恐怕是拍卖过的)传递给success回调函数。
  • success 当诉求之后调用。传入再次来到后的数额,以致带有成功代码的字符串。
  • complete 当诉求完毕之后调用那一个函数,无论成功或失利。传入XMLHttpRequest对象,以至八个带有成功或错误代码的字符串。

数据类型

$.ajax(卡塔尔(英语:State of Qatar)函数正视服务器提供的新闻来拍卖回来的数额。若是服务器报告说回去的多少是XML,那么重返的结果就足以用通常的XML方法如故jQuery的接收器来遍历。要是见得到其余品种,比方HTML,则数据就以文件方式来比较。

因而dataType选项还是能钦命其余不相同数额管理方式。除了单纯的XML,还足以钦点html、json、jsonp、script也许text。

里头,text和xml类型再次回到的多少不会透过管理。数据只是轻易的将XMLHttpRequest的responseText或responseHTML属性传递给success回调函数,

'''注意''',大家必需保证网页服务器报告的MIME类型与大家选用的dataType所相称。比如说,XML的话,服务器端就必需表明text/xml 或许 application/xml 来收获相仿的结果。

若是内定为html类型,任何内嵌的JavaScript都会在HTML作为叁个字符串重回在此以前推行。相符的,钦定script类型的话,也会先实行服务器端生成JavaScript,然后再把剧本作为叁个文本数据再次回到。

借使钦赐为json类型,则会把收获到的多少作为贰个JavaScript对象来剖判,何况把创设好的靶子作为结果回到。为了得以达成这个指标,他首先尝试运用JSON.parse(卡塔尔国。假若浏览器不援助,则应用三个函数来构建。JSON数据是一种能很方便通过JavaScript深入分析的构造化数据。假如得到的数据文件存放在中远间距服务器上(域名不一致,也便是跨域获取数据),则必要采用jsonp类型。使用这种类型的话,会成立三个询问字符串参数 callback=? ,这些参数会加在乞求的U大切诺基L前边。服务器端应当在JSON数量前增进回调函数名,以便产生二个有效的JSONP需要。如若要钦定回调函数的参数名来顶替暗许的callback,能够由此安装$.ajax(卡塔尔国的jsonp参数。

注意,JSONP是JSON格式的恢弘。他要求部分劳务器端的代码来检查实验并管理查询字符串参数。越多新闻能够参阅 中期的篇章。

若是钦命了script也许jsonp类型,那么当从服务器收到到数量时,实际上是用了<script>标签并非XMLHttpRequest对象。这种情景下,$.ajax(卡塔尔不再重回二个XMLHttpRequest对象,何况也不会传送事件管理函数,举个例子beforeSend。

发送数据到服务器

暗中同意情状下,Ajax乞请使用GET方法。就算要采用POST方法,能够设定type参数值。这些选项也会影响data选项中的内容什么发送到服务器。

data选项不仅可以够满含七个询问字符串,比方 key1=value1&key2=value2 ,也得以是多个光彩夺目,譬喻 {key1: 'value1', key2: 'value2'} 。假诺选择了前者的方式,则数据再发送器会被转换来查询字符串。那个管理进度也得以由此安装processData选项为false来隐藏。假若大家期望发送三个XML对象给服务器时,这种管理恐怕并不确切。何况在这里种气象下,我们也应当纠正contentType选项的值,用别的适当的MIME类型来代替私下认可的 application/x-www-form-urlencoded 。

高级选项

global选项用于阻止响应注册的回调函数,比如.ajaxSend,只怕ajaxError,甚至肖似的情势。那在多少时候很有用,举个例子发送的呼吁非常频仍且简短的时候,就可以在ajaxSend里禁止使用那一个。越多关于那几个点子的详细音信,请参阅上边的开始和结果。

假如服务器供给HTTP认证,能够接纳用户名和密码能够因此username和password选项来安装。

Ajax央浼是有效期的,所以错误警示被抓获并管理后,能够用来进步客户体验。央求超时这一个参数平时就保存其私下认可值,要不就由此jQuery.ajaxSetup来全局设定,少之又少为特定的伏乞重新载入参数timeout选项。

暗许情状下,央求总会被发出去,但浏览器有望从她的缓存中调取数据。要防止利用缓存的结果,能够设置cache参数为false。如若希望推断数据自从上次乞请后并未有变动过就告诉出错的话,能够安装ifModified为true。

scriptCharset允许给<script>标签的央求设定四个特定的字符集,用于script大概jsonp形似的数量。当脚本和页面字符集差别的时间,那非常好用。

Ajax的第多个字母是asynchronous的上马字母,那表示全体的操作都以相互的,完毕的依次未有前后关系。$.ajax(卡塔尔(قطر‎的async参数总是设置成true,那申明着在伏乞起前后相继,别的代码依旧能够执行。猛烈不提议把这么些选项设置成false,那象征全体的伏乞都不再是异步的了,那也会引致浏览器被锁死。

$.ajax函数重回她创制的XMLHttpRequest对象。平日jQuery只在其间管理并创设这些指标,但客户也得以透过xhr选项来传递五个谈得来创立的xhr对象。再次来到的靶子平时已经被放弃了,但如故提供多个底层接口来察看和操控须求。比方说,调用对象上的.abort(卡塔尔能够在伸手实现前挂起哀告。  

async

类型:Boolean
暗中认可值: true。默许设置下,全体央浼均为异步哀求。假使须要发送同步央求,请将此选项设置为 false。
留神,同步要求将锁住浏览器,客户其余操作必得等待要求完结才足以实践。

GET 方法平时用于推行一些非破坏性的操作(正是说,只从服务端获废除息,不更换服务端上的音信)。比如,搜索查询服务日常会采取GET 央求。别的,GET 央求还会被浏览器缓存,那大概会招致有个别不得预言的标题。一般情况下 GET 诉求只好通过查询字符串的方法向服务端发送数据。

参数

beforeSend(XHR)

类型:Function
发送要求前可矫正 XMLHttpRequest 对象的函数,如增多自定义 HTTP 头。
XMLHttpRequest 对象是独占鳌头的参数。
这是二个 Ajax 事件。要是回去 false 能够收回这次 ajax 央求。

POST 方法经常用于在服务端上举行一些破坏性的操作。譬如,当您发表生龙活虎篇博客的时候,用的相应就是POST 央求。和 GET 诉求不均等,POST 诉求不设有缓慰难题。POST 伏乞中,查询字符串作为 U昂CoraL 的风姿洒脱局地也能向服务端提交数据,但不引入这种格局,全数数据应该跟 UWranglerL 分开单独发送。

url,[settings]ObjectV1.5

url:叁个用来含有发送央求的ULX570L字符串。

settings:AJAX 供给设置。全数选项都以可选的。

cache

类型:Boolean
默许值: true,dataType 为 script 和 jsonp 时默感到 false。设置为 false 将不缓存此页面。
jQuery 1.2 新功能。
complete(XHR, TS)
类型:Function
恳请实现后回调函数 (诉求成功或战败未来均调用卡塔尔国。
参数: XMLHttpRequest 对象和叁个陈说央求类型的字符串。
那是叁个 Ajax 事件。

数据类型,jQuery 日常供给指明服务端重返的数据类型,有些情形写数据类型大概曾经满含在措施名称中了,如 $.getJSON(卡塔尔国,除却,它都会被视作三个可安顿的目的的一片段,该对象最后会作为 $.ajax() 方法的参数。数据类型通经常有以下二种:

V1.0**settings**:选项

contentType

类型:String
暗中认可值: "application/x-www-form-urlencoded"。发送新闻至服务器时内容编码类型。
默许值切合大非常多场地。倘诺你鲜明地传递了多个 content-type 给 $.ajax()那么它必定会发送给服务器(即便未有数据要发送)。

text :纯文本,用于传输简单的字符串。 html :用于传输风华正茂段 HTML。 script :向页面中加多脚本。 json :传输已格式化的 JSON 对象,它能够蕴含字符串、数组或对象。 jsonp :用于传输从其它域下重回的 JSON 数据。 xml :用于传输自定义的 XML 格式数据。

acceptsMap

暗中认可: 决计于数据类型。

剧情类型发送乞求头,告诉服务器什么样的响应会选取重临。借使accepts设置需求改革,推荐在$.ajaxSetup(卡塔尔国方法中做叁次。

context

类型:Object
其一目的用于安装 Ajax 相关回调函数的上下文。也正是说,让回调函数内 this 指向这几个目的(假若不设定那几个参数,那么 this 就针对调用此次 AJAX 诉求时传递的 options 参数)。比方钦点一个 DOM 成分作为 context 参数,那样就安装了 success 回调函数的上下文为那些 DOM 成分。
就好像那样:
$.ajax({ url: "test.html", context: document.body, success: function(){

    $(this).addClass("done");
  }});

异步施行,Ajax 中的 A 指的是异步。提及这里只怕过多 jQuery 初读书人一下子很难了然什么叫异步,因为暗中认可情状下 Ajax 央求就是异步的,服务端再次来到的音讯并非马上就能够收获到。全体服务端重临的音讯只可以在三个回调函数中拍卖。比方以下这段代码,是不当的:

asyncBoolean

(默许: true卡塔尔(قطر‎暗中同意设置下,全体乞请均为异步伏乞。如若要求发送同步央求,请将此选项设置为 false。注意,同步伏乞将锁住浏览器,客商别的操作必须等待伏乞实现才方可实施。

data

类型:String
发送到服务器的数额。将机关调换为呼吁字符串格式。GET 诉求上将附加在 U卡宴L 后。查看 processData 选项表明以禁绝此活动调换。必得为 Key/Value 格式。假设为数组,jQuery 将自动为分歧值对应同二个名号。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。

var response;$.get('foo.php', function;console.log; // undefined!

beforeSend(XHR)Function

发送央求前可改善 XMLHttpRequest 对象的函数,如增多自定义 HTTP 头。XMLHttpRequest 对象是独步一时的参数。那是三个 Ajax 事件。借使回去false能够收回本次ajax央求。

function (XMLHttpRequest) {
    this; // 调用本次AJAX请求时传递的options参数
}

 

dataFilter

类型:Function
给 Ajax 再次回到的原本数据的举行预管理的函数。提供 data 和 type 多个参数:data 是 Ajax 再次回到的原有数据,type 是调用 jQuery.ajax 时提供的 dataType 参数。函数重返的值将由 jQuery 进一层管理。

对的的做法应该是在回调函数中管理服务端再次回到的数额,回调函数在 Ajax 诉求成功做届时才被试行,当时技巧获取到来自服务端的多寡:

cacheBoolean

(暗中同意: true,dataType为script和jsonp时默以为false卡塔尔(قطر‎ jQuery 1.2 新职能,设置为 false 将不缓存此页面。

dataType

类型:String
预料服务器重临的数据类型。即便不钦赐,jQuery 将机关依据 HTTP 包 MIME 音讯来智能决断,比方 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就能够扭转一个 JavaScript 对象,而 script 则会进行这几个剧本。随后服务器端重返的数据会依照那个值深入分析后,传递给回调函数。可用值:
"xml": 返回 XML 文档,可用 jQuery 处理。
"html": 再次来到纯文本 HTML 音讯;包蕴的 script 标签会在插入 dom 时实践。
"script": 重回纯文本 JavaScript 代码。不会活动缓存结果。除非设置了 "cache" 参数。注意:在长途央浼时(不在同三个域下卡塔尔,全部 POST 央浼都将转为 GET 诉求。(因为将使用 DOM 的 script标签来加载)
"json": 返回 JSON 数据 。
"jsonp": JSONP 格式。使用 JSONP 格局调用函数时,如 "myurl?callback=?" jQuery 将机关替换 ? 为准确的函数名,以施行回调函数。
"text": 再次来到纯文本字符串
error
类型:Function
暗许值: 自动推断 (xml 或 html卡塔尔(英语:State of Qatar)。诉求失败时调用此函数。
有以下多少个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的十三分对象。
若果产生了不当,错误音信(第四个参数)除了获取 null 之外,还或者是 "timeout", "error", "notmodified" 和 "parsererror"。
那是叁个 Ajax 事件。

$.get('foo.php', function { console.log;

complete(XHR, TS)Function

恳请完结后回调函数 (央浼成功或战败现在均调用卡塔尔(英语:State of Qatar)。参数: XMLHttpRequest 对象和三个汇报成功央浼类型的字符串。 Ajax 事件。

function (XMLHttpRequest, textStatus) {
    this; // 调用本次AJAX请求时传递的options参数
}

 

global

类型:Boolean
是否接触全局 AJAX 事件。暗中同意值: true。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用来调节分裂的 Ajax 事件。
ifModified
类型:Boolean
仅在服务器数据变动时收获新数据。暗中同意值: false。使用 HTTP 包 Last-Modified 头新闻判别。在 jQuery 1.4 中,它也会检查服务器钦定的 'etag' 来规定数据未有被修正过。

同源计谋及 JSONP,前边早就说过,平时景观下 Ajax 的号令会被限定在相同公约、肖似端口、相符域名下技术科学施行,然则 HTML 的

contentsMapV1.5

一个以"{字符串:正则说明式}"配没有错对象,用来鲜明jQuery将何以分析响应,给定其内容类型。

jsonp

类型:String
在三个 jsonp 诉求中重写回调函数的名字。这么些值用来代表在 "callback=?" 这种 GET 或 POST 必要中 URAV4L 参数里的 "callback" 部分,比如{jsonp:'onJsonPLoad'} 会以致将 "onJsonPLoad=?" 传给服务器。

contentTypeString

(默许: "application/x-www-form-urlencoded"卡塔尔发送消息至服务器时内容编码类型。私下认可值相符大相当多情景。假若您断定地传递了贰个content-type给 $.ajax(卡塔尔 那么她必定会发送给服务器(即便相当少要发送)

jsonpCallback

类型:String
为 jsonp 央求钦赐三个回调函数名。那几个值将用来替代 jQuery 自动生成的轻巧函数名。这重要用来让 jQuery 生成度独特的函数名,这样管理恳求更易于,也能方便地提供回调函数和错误管理。你也足以在想让浏览器缓存 GET 央求的时候,指定那一个回调函数名。

contextObject

以此指标用于安装Ajax相关回调函数的上下文。相当于说,让回调函数内this指向这些指标(若是不设定那些参数,那么this就针对调用此番AJAX要求时传递的options参数)。比如钦定三个DOM成分作为context参数,那样就设置了success回调函数的上下文为那一个DOM成分。就如这么:

$.ajax({ url: "test.html", context: document.body, success: function(){
    $(this).addClass("done");
}});

 

password

类型:String
用来响应 HTTP 访谈认证要求的密码

convertersmapV1.5

默认: {"* text": window.String, "text html": true, "text json": jQuery.parseJSON, "text xml": jQuery.parseXML}

叁个数据类型对数据类型转变器的靶子。每种调换器的值是三个函数,重临响应的转变值

processData

类型:Boolean
暗中认可值: true。暗中同意情状下,通过data选项传递步入的数额,要是是三个目的(技艺上讲只要不是字符串卡塔尔(قطر‎,都会管理转产生二个询问字符串,以异常默许内容类型 "application/x-www-form-urlencoded"。假如要发送 DOM 树新闻或别的不希望调换的新闻,请设置为 false。

crossDomainmapV1.5

私下认可: 同域央浼为false

跨域乞求为true如若你想强制跨域央浼(如JSONP情势)同一域,设置crossDomain为true。那使得比如,服务器端重定向到另四个域

scriptCharset

类型:String
唯有当号召时 dataType 为 "jsonp" 或 "script",何况 type 是 "GET" 才会用于强制修正 charset。平时只在本地和长间距的始末编码不一样期选择。

dataObject,String

发送到服务器的数目。将机关调换为号召字符串格式。GET 央浼上校附加在 U福特ExplorerL 后。查看 processData 选项表达以抑制此活动转换。必得为 Key/Value 格式。假若为数组,jQuery 将电动为不相同值对应同四个名号。如 {foo:["bar1", "bar2"]} 转换为 "&foo=bar1&foo=bar2"。

success

类型:Function
恳请成功后的回调函数。
参数:由服务器重返,并依靠 dataType 参数实行拍卖后的数据;描述状态的字符串。
那是三个 Ajax 事件。

dataFilterFunction

给Ajax重回的原始数据的进展预管理的函数。提供data和type八个参数:data是Ajax重临的本来数据,type是调用jQuery.ajax时提供的dataType参数。函数再次回到的值将由jQuery进一层管理。

function (data, type) {
    // 对Ajax返回的原始数据进行预处理
    return data  // 返回处理后的数据
}

 

traditional

类型:Boolean
假定您想要用古板的方法来连串化数据,那么就安装为 true。请参见工具分类下边包车型地铁 jQuery.param 方法。

dataTypeString

 

料想服务器再次来到的数据类型。要是不点名,jQuery 将自动依据 HTTP 包 MIME 消息来智能判定,比方XML MIME类型就被识别为XML。在1.4中,JSON就能生成贰个JavaScript对象,而script则会执行那么些剧本。随后服务器端重返的数据会根据这一个值解析后,传递给回调函数。可用值:

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

"html": 再次回到纯文本 HTML 音讯;富含的script标签会在插入dom时施行。

"script": 重回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数。'''注意:'''在中远间隔诉求时(不在同四个域下卡塔尔(英语:State of Qatar),全数POST央求都将转为GET诉求。(因为将运用DOM的script标签来加载卡塔尔

"json": 返回 JSON 数据 。

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

"text": 重返纯文本字符串

 

timeout

类型:Number
安装乞求超时时间(纳秒)。此设置将掩盖全局设置。

errorFunction

(暗许: 自动剖断 (xml 或 html卡塔尔卡塔尔(قطر‎央求失利时调用此函数。有以下四个参数:XMLHttpRequest 对象、错误新闻、(可选)捕获的非常对象。假若产生了错误,错误新闻(第叁个参数)除了拿走null之外,还或然是"timeout", "error", "notmodified" 和 "parsererror"。Ajax 事件。

function (XMLHttpRequest, textStatus, errorThrown) {
    // 通常 textStatus 和 errorThrown 之中
    // 只有一个会包含信息
    this; // 调用本次AJAX请求时传递的options参数
}

 

type

类型:String
暗中同意值: "GET"卡塔尔国。须要格局 ("POST" 或 "GET"卡塔尔(英语:State of Qatar), 默以为 "GET"。注意:别的HTTP 恳求方法,如 PUT 和 DELETE 也足以行使,但仅局地浏览器扶植。

globalBoolean

(默许: true卡塔尔(قطر‎ 是或不是接触全局 AJAX 事件。设置为 false 将不会接触全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用以调节区别的 Ajax 事件。

url

类型:String
暗许值: 当前页地址。发送央求之处。

headersmapV1.5

Default: {}

三个外加的"{键:值}"对映射到央浼一同发送。此设置被设置以前beforeSend函数被调用;因而,新闻头中的值设置能够在覆盖beforeSend函数范围内的其它设置。

username

类型:String
用来响应 HTTP 访谈认证须要的顾客名。

ifModifiedBoolean

(暗中认可: false卡塔尔(英语:State of Qatar) 仅在服务器数据变动时得到新数据。使用 HTTP 包 Last-Modified 头消息判定。在jQuery 1.4中,他也会检讨服务器钦点的'etag'来明确数据还未被改善过。

类型:Function

亟待回到几个 XMLHttpRequest 对象。暗中认可在 IE 下是 ActiveXObject 而此外境况下是 XMLHttpRequest 。用于重写或然提供多个加强的 XMLHttpRequest 对象。那几个参数在 jQuery 1.3 早先不可用。
回调函数
倘诺要拍卖 $.ajax(卡塔尔国获得的数量,则供给接纳回调函数:beforeSend、error、dataFilter、success、complete。

isLocalmapV1.5.1

默许: 决议于当前的岗位公约

同意当前蒙受被承认为“本地”,(如文件系统),就算jQuery默许情况下不会确认它。以下合同最近公众认同为本地:file, *-extension, and widget。假使isLocal设置必要改过,建议在$.ajaxSetup(卡塔尔(英语:State of Qatar)方法中如此做壹回。

beforeSend

在殡葬诉求早前调用,况且传入一个 XMLHttpRequest 作为参数。

jsonpString

在一个jsonp央浼中重写回调函数的名字。这些值用来代替在"callback=?"这种GET或POST诉求中U奥迪Q3L参数里的"callback"部分,举例{jsonp:'onJsonPLoad'}会招致将"onJsonPLoad=?"传给服务器。

error

在伸手出错开上下班时间调用。传入 XMLHttpRequest 对象,描述失实类型的字符串以致一个丰富对象(若是局地话)

jsonpCallbackString

为jsonp央浼钦赐三个回调函数名。这么些值将用来代表jQuery自动生成的私下函数名。这关键用来让jQuery生成度独特的函数名,那样管理央求更便于,也能有协理地提供回调函数和错误管理。你也得以在想让浏览器缓存GET央求的时候,钦命这一个回调函数名。

dataFilter

在呼吁成功未来调用。传入再次来到的数量以致 "dataType" 参数的值。并且必需再次回到新的数目(恐怕是管理过的)传递给 success 回调函数。

mimeTypeStringV1.5.1

一个mime类型用来覆盖XH奥迪Q7的 MIME类型。

success

当号令之后调用。传入重临后的数目,以致包含成功代码的字符串。

passwordString

用来响应HTTP访问认证央浼的密码

complete

当呼吁完毕现在调用那一个函数,无论成功或停业。传入 XMLHttpRequest 对象,以至多个带有成功或错误代码的字符串。
数据类型
$.ajax(卡塔尔函数信任服务器提供的音讯来处理回来的数额。如若服务器报告说回来的多少是 XML,那么重临的结果就足以用平时的 XML 方法只怕 jQuery 的采纳器来遍历。如若见获得任何体系,比如HTML,则数据就以文件方式来相比。
通过 dataType 选项还足以钦点其余不一样数额处理方式。除了单纯的 XML,还是能够钦定 html、json、jsonp、script 只怕 text。
里面,text 和 xml 类型重返的多寡不会由此管理。数据唯有简单的将 XMLHttpRequest 的 responseText 或 responseHTML 属性传递给 success 回调函数。
精心:大家必需确认保证网页服务器报告的 MIME 类型与大家采纳的 dataType 所相配。比方说,XML的话,服务器端就亟须表明 text/xml 大概application/xml 来拿到相像的结果。
纵然钦定为 html 类型,任何内嵌的 JavaScript 都会在 HTML 作为二个字符串重回以前实践。相同地,钦点 script 类型的话,也会先举办服务器端生成 JavaScript,然后再把剧本作为贰个文件数据重回。
若果钦点为 json 类型,则会把收获到的数目作为一个 JavaScript 对象来剖析,况兼把营造好的目的作为结果回到。为了贯彻那么些指标,它首先尝试运用 JSON.parse(卡塔尔国。假使浏览器不扶植,则动用二个函数来塑造。
JSON 数据是少年老成种能很方便通过 JavaScript 剖判的布局化数据。若是获得的数据文件存放在长间距服务器上(域名区别,也正是跨域获取数据),则要求使用 jsonp 类型。使用那体系型的话,会创造三个询问字符串参数 callback=? ,这么些参数会加在央浼的 UMuranoL 前边。服务器端应当在 JSON 数据前增加回调函数名,以便产生二个管用的 JSONP 央求。如若要钦点回调函数的参数名来代表暗许的 callback,能够通过安装 $.ajax(卡塔尔国 的 jsonp 参数。
留意:JSONP 是 JSON 格式的强盛。它供给有个别服务器端的代码来检查测量检验并拍卖查询字符串参数。
只要钦点了 script 只怕 jsonp 类型,那么当从服务器收到到多少时,实际上是用了 <script> 标签实际不是XMLHttpRequest 对象。这种情景下,$.ajax(卡塔尔国 不再归来二个 XMLHttpRequest 对象,並且也不会传送事件管理函数,举例 beforeSend。
发送数据到服务器
暗中同意情形下,Ajax 需要使用 GET 方法。要是要利用 POST 方法,能够设定 type 参数值。这几个选项也会影响 data 选项中的内容什么发送到服务器。
data 选项不只能够分包贰个查询字符串,举例 key1=value1&key2=value2 ,也能够是二个映射,例如 {key1: 'value1', key2: 'value2'} 。倘若应用了前者的款型,则数据再发送器会被调换来查询字符串。那一个管理进度也能够因而设置 processData 选项为 false 来隐蔽。假若我们目的在于发送多少个 XML 对象给服务器时,这种管理大概并不确切。並且在这里种气象下,大家也应有改成 contentType 选项的值,用任何适当的 MIME 类型来替代默许的 application/x-www-form-urlencoded 。
高级选项
global 选项用于阻止响应注册的回调函数,比如 .ajaxSend,或许ajaxError,以至肖似的法子。那在有些时候很有用,举个例子发送的乞求非常频仍且简短的时候,就可以在 ajaxSend 里禁止使用那一个。
万生龙活虎服务器须要 HTTP 认证,能够应用客户名和密码能够经过 username 和 password 选项来安装。
Ajax 诉求是限期的,所以错误警报被抓走并管理后,能够用来升高客户体验。诉求超时这几个参数经常就保存其暗许值,要不就透过 jQuery.ajaxSetup 来全局设定,少之又少为特定的央求重置 timeout 选项。
默许意况下,央求总会被发出去,但浏览器有相当的大大概从它的缓存中调取数据。要禁绝选取缓存的结果,能够设置 cache 参数为 false。如若期待剖断数据自从上次乞求后不曾改换过就告诉出错的话,能够安装 ifModified 为 true。
scriptCharset 允许给 <script> 标签的伸手设定一个特定的字符集,用于 script 也许 jsonp 肖似的数据。当脚本和页面字符集不一致有的时候候,那非常好用。
Ajax 的首先个字母是 asynchronous 的初始字母,这代表全部的操作都是并行的,达成的种种未有前后关系。$.ajax(卡塔尔(قطر‎的 async 参数总是设置成true,那标识着在呼吁起先后,别的代码依旧能够施行。刚毅不建议把那一个选项设置成 false,那代表全部的伸手都不再是异步的了,那也会招致浏览器被锁死。
$.ajax 函数重返它创制的 XMLHttpRequest 对象。日常 jQuery 只在在那之中管理并创建这一个指标,但客商也得以经过 xhr 选项来传递三个要好创立的 xhr 对象。再次回到的对象平常已经被舍弃了,但仍然提供八个底层接口来考查和操控诉求。比方说,调用对象上的 .abort(卡塔尔 可以在乞求达成前挂起央浼。

processDataBoolean

(暗中同意: true卡塔尔国暗中同意情形下,通过data选项传递进入的多寡,假使是一个对象(技能上讲只要不是字符串卡塔尔(英语:State of Qatar),都会管理转造成二个查询字符串,以同盟默许内容类型 "application/x-www-form-urlencoded"。借使要发送 DOM 树音讯或任何不希望转变的音讯,请设置为 false。

scriptCharsetString

唯有当呼吁时dataType为"jsonp"或"script",并且type是"GET"才会用来强制修改charset。日常只在该地和长途的剧情编码不一致有时间接选举用。

statusCodemapV1.5

默认: {}

风流倜傥组数值的HTTP代码和函数对象,当响合时调用了相应的代码。比如,假诺响应状态是404,将触发之下警告:

$.ajax({
  statusCode: {404: function() {
    alert('page not found');
  }
});

 

success(data, textStatus, jqXHR)Function,Array

号令成功后的回调函数。参数:由服务器再次来到,并基于dataType参数实行管理后的数额;描述状态的字符串。还有jqXH奔驰G级(在jQuery 1.4.x的中,XMLHttpRequest) 对象 。在jQuery 1.5, 成功安装能够选用叁个函数数组。每一种函数将被依次调用。 Ajax 事件。

function (data, textStatus) {
    // data 可能是 xmlDoc, jsonObj, html, text, 等等...
    this; // 调用本次AJAX请求时传递的options参数
}

 

traditionalBoolean

意气风发旦您想要用守旧的法子来种类化数据,那么就安装为true。请参谋工具分类上边包车型客车jQuery.param 方法。

timeoutNumber

安装要求超时时间(皮秒)。此设置将覆盖全局设置。

typeString

(暗许: "GET"卡塔尔 诉求形式 ("POST" 或 "GET"卡塔尔, 默认为 "GET"。注意:别的 HTTP 央浼方法,如 PUT 和 DELETE 也能够行使,但仅部分浏览器扶持。

urlString

(暗中认可: 当前页地址卡塔尔(英语:State of Qatar) 发送央求的地点。

usernameString

用来响应HTTP访谈认证乞请的客户名

xhrFunction

内需再次回到叁个XMLHttpRequest 对象。暗许在IE下是ActiveXObject 而其他情状下是XMLHttpRequest 。用于重写也许提供一个加强的XMLHttpRequest 对象。那个参数在jQuery 1.3在先不可用。

xhrFieldsmapV1.5

部分“文件名-文件值”在本机设置XHSportage对象。比方,假若需求的话,你能够用它来设置withCredentials为true的跨域央求。

示例

描述:

加载并实施三个 JS 文件。

jQuery 代码:
$.ajax({
  type: "GET",
  url: "test.js",
  dataType: "script"
});

描述:

封存数据到服务器,成功时呈现新闻。

jQuery 代码:
$.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston",
   success: function(msg){
     alert( "Data Saved: "   msg );
   }
});

描述:

装入一个 HTML 网页最新版本。

jQuery 代码:
$.ajax({
  url: "test.html",
  cache: false,
  success: function(html){
    $("#results").append(html);
  }
});

描述:

一齐加载数据。发送伏乞时锁住浏览器。须求锁定客户人机联作操作时使用同步方式。

jQuery 代码:
 var html = $.ajax({
  url: "some.php",
  async: false
 }).responseText;

描述:

出殡 XML 数据至服务器。设置 processData 选项为 false,幸免自动调换数据格式。

jQuery 代码:
 var xmlDocument = [create xml document];
 $.ajax({
   url: "page.php",
   processData: false,
   data: xmlDocument,
   success: handleResponse
 });

本文由pc28.am发布于pc28.am,转载请注明出处:初学者必看的Ajax总结篇,jquery中ajax参数详解

上一篇:理解和运用JavaScript的闭包机制_基础知识_脚本之 下一篇:没有了
猜你喜欢
热门排行
精彩图文