* [1.http请求](https://www.kancloud.cn/chengbenchao/javascript/780058#1http_1)
* [2.请求响应](https://www.kancloud.cn/chengbenchao/javascript/780058#2_8)
* [3.一个完整的ajax的步骤](https://www.kancloud.cn/chengbenchao/javascript/780058#3ajax_13)
* [1.创建](https://www.kancloud.cn/chengbenchao/javascript/780058#1ajax_14)[ajax核心](https://www.kancloud.cn/chengbenchao/javascript/780058)对象
* [2.与服务器建立](https://www.kancloud.cn/chengbenchao/javascript/780058#2_15)[连接](https://www.kancloud.cn/chengbenchao/javascript/780058)
* [3.发送](https://www.kancloud.cn/chengbenchao/javascript/780058#3_16)[请求](https://www.kancloud.cn/chengbenchao/javascript/780058)
* [4.响应](https://www.kancloud.cn/chengbenchao/javascript/780058#4_17)
* [get请求](https://www.kancloud.cn/chengbenchao/javascript/780058#get_18)
* [post请求](https://www.kancloud.cn/chengbenchao/javascript/780058#post_38)
* [Post方式要设置一个](https://www.kancloud.cn/chengbenchao/javascript/780058#Post_39)[请求头](https://www.kancloud.cn/chengbenchao/javascript/780058)
## 1.http请求
> 定义: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核心](https://www.kancloud.cn/chengbenchao/javascript/780058)对象
#### 2.与服务器建立[连接](https://www.kancloud.cn/chengbenchao/javascript/780058)
#### 3.发送[请求](https://www.kancloud.cn/chengbenchao/javascript/780058)
#### 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方式要设置一个[请求头](https://www.kancloud.cn/chengbenchao/javascript/780058)
~~~
<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>
~~~
- 第一章.git
- 1-1 git基本命令
- 1-2 ssh的配置
- 1-3 版本回退
- 第二章 markdown基本语法
- 第三章 HTML
- 3-1 HTML标签概念
- 3-2 html结构
- 3-3 基本标签
- 3-4 input输入框
- 3-5 table表格
- 第四章 CSS
- 4-1 CSS基础
- 4-2 基本样式
- 4-3 选择器
- 4-4 盒子模型
- 4-5 进阶样式
- 4-6 样式继承
- 4-7 浮动
- 4-8 定位
- 4-8 水平垂直居中
- 4-9 特殊情况
- 4-10 表单
- 4-11 2D效果
- 4-12 BFC
- 第五章 JavaScript笔记
- 5-1JS基础
- 5-2 DOM介绍
- 5-3 DOM操作详解
- 5-4 JSON详解
- 第六章 jQuery
- 6-1 jQuery概述
- 6-2 jQuery选择器
- 6-3 jQuery常用操作
- 第七章 AJAX
- 7-1 原生ajax
- 7-2 http,get,post
- 7-3 跨域
- 7-4 jQuery-ajax
- Web前端命名规范