1. XMLHttpRequest
-
redyState記錄請(qǐng)求的狀態(tài)
- 發(fā)送AJAX
let request = new XMLHttpRequest()
request.open('GET', 'http://www.baidu.com') //配置request
request.send() //發(fā)送請(qǐng)求
//監(jiān)聽(tīng)readyState是否發(fā)生變化
request.onreadystatechange = ()=>{
//判斷請(qǐng)求是否完成
if (request.readyState === 4){
if (request.status >== 200 && request.status < 300){
let string = request.responseText
let object = window.JSON.parse(string)
}
}
}
2. JSON
JSON的數(shù)據(jù)類(lèi)型:
null: null
number: 1
string: "string"
true: true
false: false
object: {"name": "mike", "age": 31}
array : ["a", "b", "c"]與JavaScript的區(qū)別
- JSON沒(méi)有function和undefined
- JSON的string必須以
"
開(kāi)頭错负,以"
結(jié)尾 - JSON不能創(chuàng)建變量
3.同源策略
只有協(xié)議+域名+端口都相同误褪,才可以發(fā)送AJAX
解決辦法:
在response Header 加Access-Control-Allow-Origin, 'http:www.yumxudewangzhan.com'
4.設(shè)置http請(qǐng)求的四個(gè)部分
5. 獲取響應(yīng)的四個(gè)部分
6.解構(gòu)賦值
var options = {
a: 1,
b: 2,
c: 3
}
let {a, b, c} = options
console.log(a) // a = 1
console.log(b) // b = 2
console.log(c) // c = 3
7.Promise
function ajax(){
//Promise用法
return new Promise(function(resolve, reject){
dosomething()
})
}