ajax是js的一种能力
可以进行前后端交互
前端可以通过ajax给后端发送数据 -- 请求:request
后端可以通过ajax给后端发送数据 -- 响应:response
第一个ajax通信一定是前端去请求
要进行前后端交互
== 一定有后端可以让前端去请求
== 我自己电脑上有node环境,就可以运行服务器,也就是运行后端代码
== 比如我现在就在开的这个server
这个服务器可以提供哪些资源呢(接口文档里面写的是什么)
基准地址: http://localhost:8888
资源1:/test/first
资源2:/test/second
.......
以前我们要在地址栏输入地址才行
现在我们可以使用js的内置ajax对象构造函数,创建ajax对象
来帮助我们使用指定的请求方式,请求指定的url地址存放的内容
然后响应内容给ajax对象
我们可以通过js渲染响应的内容显示在页面的任意位置,而不是刷新整个页面
发送ajax请求的步骤
1 创建一个ajax对象
new XMLHttpRequest()
+ 实例化一个构造函数,得到一个对象
+ 这个对象就能帮我发ajax请求
2 配置请求信息
+ 你要用什么方式请求?get还是post还是别的
+ 你要请求哪一个url地址?你请求的后端服务器地址
+ 你想发送一个同步请求还是异步请求?默认是异步
+ 就使用创建好的ajax对象来帮我完成配置请求信息
== 语法:ajax对象.open(请求方式,请求地址,是否异步)
== 请求方式不区分大小写
== 是否异步可以不写,默认异步
3 把这个请求发送出去
+ 语法:ajax对象.send()
+ 表示把这个配置好的这个请求发送出去
4 接收后端的响应
+ 因为现在是js和后端交互,而不是浏览器和后端交互
+ 所以后盾返还的响应资源就给了js
我们就要用一个事件来接受资源
》》 ajax对象.onload = function(){}
// 1 创建一个ajax对象
// + 这个对象就能帮我发送ajax请求
let xhr = new XMLHttpRequest()
// 2配置请求信息
// 以get的请求方式,请求地址http://localhost:8888
xhr.open('get','http://localhost:8888/test/first')
// localhost:是一个域名,如果服务器就在自己代码运行的那个电脑上
// 我们的域名就可以写成localhost
// 127.0.0.1:是一个ip地址,如果服务器就在自己代码运行的那个电脑上
// 我们的ip就可以写成127.0.0.1
// 3 发送请求
xhr.send()
// 4接受响应
xhr.onload = function(){
// 这个函数会在当前这个ajax请求完成的时候触发
// 这个ajax请求已完成,就有xhr这个对象触发这个函数
// 我们就可以在这个函数里获得后端返回的数据了
console.log('请求已经完成了')
console.log(xhr.response)
}