主要内容: ajax 是什么、原生ajax 写法和jQuery ajax写法。
AJAX 是什么
ajax,即Asynchronous Javascript And XML,是一种技术方案。它依赖的是CSS/HTML/JavaScript ,其中最核心的依赖是浏览器提供的XMLHttpRequest 对象。这个对象使得浏览器可以发出HTTP请求与接收HTTP响应。实现在页面不重新刷新的情况下和服务器通信,交换数据,更新页面。
AJAX可以是同步请求,也可以是异步请求。但是,大多数情况下,特指异步请求。因为同步的Ajax请求,对浏览器有“堵塞效应”。
具体来说,ajax包括以下几个步骤:
- 创建AJAX对象
- 发出HTTP请求
- 接收服务器传回的数据
- 更新网页数据
XMLHttpRequest对象
XMLHttpRequest 是什么
XMLHttpRequest 是一个 API,它为客户端提供了在客户端和服务器之间传输数据的功能。它提供了一个通过 URL 来获取数据的简单方式,并且不会使整个页面刷新,这使得网页只更新一部分页面而不会打扰到用户。
XMLHttpRequest可以取回所有类型的数据资源,而且除了HTTP,还支持file协议和ftp协议。
原生ajax 写法
var xhr = new XMLHttpRequest()
xhr.open('GET', url, true)
xhr.onload = function(){
if((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){
//成功了
console.log(xhr.responseText)
} else {
console.log('服务器异常')
}
}
xhr.onerror = function(){
console.log('服务器异常')
}
xhr.send()
jQuery ajax
$.ajax({
url: '/xxx',
method: 'GET',
data: {
a: 1,
b: 2
}
}).done(function(result){
console.log(result);
}).fail(function(jqXHR, textStatus){
consloe.log(textStatus);
});
ajax 中可能会用到的
$.param()
创建一个数组或对象序列化的的字符串,适用于一个URL 地址查询字符串或Ajax请求。
var obj = {index: 1,len: 5};
$.param(obj) // "index=1&len=5"
$.serialize()
将用作提交的表单元素的值编译成字符串。
网友评论