[TOC]
# 1.http请求
![](https://box.kancloud.cn/4b3f4191f299bb5da204ba2068e06f13_633x403.png)
![](https://box.kancloud.cn/5270eec3ea4ba4f62af01112ea5b1da3_753x299.png)
![](https://box.kancloud.cn/744c00043585906db046b0f520d1b195_762x258.png)
![](https://box.kancloud.cn/28b71b4a5bdf8c5a1443818bf0116b15_741x242.png)
![](https://box.kancloud.cn/513735421f4d819d4dcf1561e3d5a10d_703x297.png)
# 2.请求响应
* open(method,url,asyn)
asyn值默认为true
* send()
* onreadystatechange
# 3.一个完整的ajax的步骤
> 1.创建ajax核心对象
2.与服务器建立连接
3.发送请求
4.响应
## get请求
```
var url = "https://www.easy-mock.com/mock/5bac6df10132334db7167178/testDemo/testDemo";
var xhr = new XMLHttpRequest();
xhr.open('get',url,true);
xhr.send();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
var txt = JSON.parse(xhr.responseText);
console.log(txt);
}
}
```
JSON.parse()方法将json对象解析为JavaScript对象。
JSON.stringify()将javascript的值,转换为JSON字符串。
* responseText:获取字符串形式的响应数据
* status:以数字形式返回http的状态码
* readystate值代表服务器响应的变化
![](https://box.kancloud.cn/55be8b52b6916319a3852475c056f77f_718x354.png)
## post请求
Post方式要设置一个请求头
```
<div id="test"></div>
<script>
var test = document.getElementById("test");
var xhr = new XMLHttpRequest();
xhr.open("post","https://www.easy-mock.com/mock/5b230e1e6bed703a9b488c69/www.getTest.com/push",true);
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send(null);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
var data = JSON.parse(xhr.responseText);
test.innerHTML = data.data.content
}
}
</script>
```
- 1.JS的基础知识
- (1)调试
- (2)变量
- (3)数据类型
- 数据类型之间的转换
- (4)全局变量和局部变量
- (5)运算符和表达式
- (6)数组
- 2.控制语句DOM,BOM,事件
- (1)控制语句
- (2)DOM的基础
- 节点
- 改变样式
- DOM事件
- 3.函数
- (1)声明函数
- (2)构造函数
- (3)函数的参数
- (4)函数的传参
- (5)改变this
- (6)重载
- (7)回调函数
- 4.数组
- (1)创建数组
- (2)增删改查
- (3)字符串与数组的转换
- 5.正则
- (1)创建正则
- (2)字符串中支持正则
- (3)语法
- 最核心的元字符
- 6.ajax
- (1)原生ajax
- (2)http,get,post
- (3)跨域
- (4)jQuery-ajax
- (5)axios
- 7.面向对象
- (1)原型
- (2)原型链,继承
- (3)多态
- 8.es6小结
- 9.js+canvas实现验证码
- 10.js的作用域
- 11.闭包
- 实例
- toggle
- 图片切换
- swiper
- 遮罩颜色渐变
- 表格添加
- 瀑布流
- ajax数据请求渲染
- 百度地图