文章目录
什么是AJAX
AJAX是无需重新加载整个页面的前提下 , 更新部分页面
AJAX = 异步 JavaScript 和 XML
优缺点
优点 :
- 不需要插件的⽀持,原⽣ js 就可以使⽤
- ⽤户体验好(不需要刷新⻚⾯就可以更新数据)
- 减轻服务端和带宽的负担
缺点:搜索引擎的⽀持度不够,因为数据都不在⻚⾯上,搜索引擎搜索不到
创建对象
使用AJAX 我们要创建XMLHttpResquest对象
var xhr = new XMLHttpResquest()
- 对象方法
- 对象属性
发送请求
open和send方法
open(method , url , async)
- method : GET和OOST
- url :文件在服务器上的位置
- async : true false true是异步 false是同步
- send(string)
string只能是POST请求
如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader()
来添加 HTTP 头。然后在 send()
方法中规定你希望发送的数据。
用 setHttpHeader(header, value)
header 头名
value 头值
xmlhttp.open("POST", "ajax-test.asp", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("fname = Bill & lname = Gates");
原生写请求方法
- GET方法
function getAjax() {
var xhr = new XMLHttpResquest();
xhr.open('GET' , 'https://music.benwebsite.cloud/banner?type=2' , true); //url是后端给的
xhr.send();
console.log(xhr);
}
- POST方法
function getAjax() {
var xhr = new XMLHttpRequest();
xhr.open('POST' , 'https://music.benwebsite.cloud/banner' , true);
xhr.requestHeader('content-type' , 'application/json'); //设置请求头 键值对形式
var sendData = {type : 2}; // 参数
xhr.send(JSON.stringify(sendData));
console.log(xhr);
}
jQuery写请求方法
- GET方法
function getAjax() {
$.ajax({
type: GET,
url: https://music.benwebsite.cloud/banner,
data: {
type: 2
},
dataType: JSON,
async: true,
success: function(data) {
if(data.code == 200) {
console.log('成功');
console.log(data);
}else{
console.log('错误');
}
}
error: function() {
}
})
}
- POST方法
function getAjax() {
$.ajax({
type: 'POST',
url: 'https://music.benwebsite.cloud/banner',
data: {
type: 2
},
dataType: JSON,
async: true,
success: function(data) {
if(data.code == 200) {
console.log('成功');
console.log(data);
}else{
console.log('错误');
}
}
error: function() {
}
})
}