jQuery中的Ajax

什么是Ajax呢?Ajax是一种与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新。Ajax=异步JavaScript和XML,jQuery提供多个与Ajax有关的方法,通过jQuery中的Ajax方法,能够使用HTTP GET与HTTP POST从远程服务器上请求文本,HTML、XML或JSON同时能够把这些外部数据载入到网页的被选元素中。

在Ajax的方法中有Ajax请求和Ajax事件,还有其他的一些方法。Ajax请求:$.ajax()、load()、$.get()、$.getJSON()、$.getScript()、$.post(),Ajax事件:ajaxComplet()、ajaxError()、AjaxSend()、ajaxStart()、ajaxStop()、ajaxSuccess()。两种提交HTTP请求方法:GRT和POST,GET:从指定的资源请求数据,POST:向指定的资源提交要处理的数据。

GET方法:可能被缓存、可被收藏为书签、不应该在处理敏感数据的时候使用、有长度限制、只应当用于取回数据。

POST方法:不会被缓存、不会保留在浏览器历史中、不能被收藏为书签。

回调函数:如果要处理$.ajax()得到的数据,则需要使用回调函数。beforeSend、error、dataFilter、success、complete。

数据类型:$.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=? ,这个参数会加在请求的URL后面。服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求。如果要指定回调函数的参数名来取代默认的callback,可以通过设置$.ajax()的jsonp参数。

示例:

加载并执行js文件

保存数据到服务器,成功时显示信息

 

装入一个HTML网页最新版本

 

同步加载数据,发送请求时锁住浏览器,需要锁定用户交互操作时使用同步方式

 

发送XML数据至服务器,设置processData选项为false,防止自动转换数据格式

 

以上就是我所学到的知识,希望对大家有帮助,新手上道,请多多指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小益同学.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值