今天又是一个学习JAVA的好日子!
Ajax 技术核心是 XMLHttpRequest 对象(简称 XHR)
XHR 的出现,提供了向服务器发送请求和解析服务器响应提供了流畅的接口。
能够以异步方式从服务器获取更多的信息,这就意味着,用户只要触发某一事件,
在不刷新网页的情况下,更新服务器最新的数据。
核心对象:
XMLHttpRequest对象
var xhr = new XMLHttpRequest()
在使用 XHR 对象时,先必须调用 open()方法,它接受三个参数:要发送的 请求类型(get、post)、请求的 URL 和表示是否异步。open()方法并不会真正发送请求,而只是启动一个请求以备发送。
通过 send()方法进行发送请求,send()方法接受一个参数,作为请求主体发送的数据。如果不需要则,必须填 null。执行 send()方法之后,请求就会发送到服务器上。 封装Ajax
发送的请求的步骤:
1、得到XMLHttpRequest对象
new XMLHttpRequest()
2、准备请求 open(请求类型GET/POST,请求的URL,是否异步)
xhr.open(请求类型GET/POST,请求的URL,是否异步);
3、发送请求 send([参数])
xhr.send([参数])
注:如果是GET请求,请求的参数设置在url的后面,所以send(null)
如果是POST请求,无参数设置为null,有参数则设置参数即可
4、判断响应状态,得到后台响应
xhr.responseText;
1、Ajax
a、原生Ajax的实现步骤
b、同步请求、异步请求、GET请求、POST请求
GET 请求是最常见的请求类型,最常用于向服务器查询某些信息。必要时,
可以将查询字符串参数追加到 URL 的末尾,以便提交给服务器。
xhr.open(‘get’,‘diner/login?’+‘name=Lee&age=100’,true);
POST 请求可以包含非常多的数据,我们在使用表单提交的时候,很多就是
使用的 POST 传输方式。
xhr.open(‘post’, ‘diner/login’, true);
而发送 POST 请求的数据,不会跟在 URL 的尾巴上,而是通过 send()方法
向服务器提交数据。
xhr.send(‘name=Lee&age=100’);
一般来说,向服务器发送 POST 请求由于解析机制的原因,需要进行特别的
处理。因为 POST 请求和 Web 表单提交是不同的,需要使用 XHR 来模仿表单提交。
xhr.setRequestHeader(‘Content-Type’,‘application/x-www-form-urle
ncoded’);
从性能上来讲 POST 请求比 GET 请求消耗更多一些,用相同数据比较,GET
最多比 POST 快两倍。
Jquery 的 ajax
1.
.
a
j
a
x
(
)
j
q
u
e
r
y
调
用
a
j
a
x
方
法
:
格
式
:
.ajax() jquery 调用 ajax 方法: 格式:
.ajax()jquery调用ajax方法:格式:.ajax({});
参数:
type:请求方式 GET/POST
url:请求地址 url
async:是否异步,默认是 true 表示异步
data:发送到服务器的数据
dataType:预期服务器返回的数据类型
contentType:设置请求头
success:请求成功时调用此函数
error:请求失败时调用此函数
get 请求
jsonp
远程跨域时,如果有两个域名,从其中一个域名去访问另一个域名时,使用
普通的 ajax 方法是获取不到数据的,那么就可以使用 jsonp 方式发送请求。
添加属性:
jsonp:’callback’
dataType:’jsonp’