[TOC]
# 1.http請求





# 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值代表服務器響應的變化

## 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數據請求渲染
- 百度地圖