Ajax基础

js本身有JSON内置对象:

转换为js语句:JSON.parse(obj)

转换为json语句:JSON.stringify(obj)

let str= '{"name":"李四","age":23}'    ==>string
let a = JSON.parse(str)    ==>a:object

let obj = {name:'张三',age:22}    ==>object
let b = JSON.stringify(obj)    ==>b:string

eval():遇见可执行js语句时,会直接返回结果

let a = 'console.log("你看看我有多厉害")'    ==>string
eval(a)    ==>会直接打印

如果执行eval()方法时遇见了{},则需要给字符串前后加一个 "(" 和 ")"

let obj = '{"name":"张三","age":23}'
let a = eval("(" + obj + ")")
console.log(a)    ==>Object

使用Ajax获取本地文件:

①:创建Ajax对象

let xhr = new XMLHttpRequest()

②:创建请求

xhr.open("GET","(json文件的url)")

//xhr.open("GET","外部接口链接")
//使用POST请求时,需要使用请求头
xhr.open("POST", 接口地址)

//设置请求头:url格式
xhr.setRequestHeader('Content-Type',"application/x-www-form-urlencoded")

//或设置请求头:JSON格式
//xhr.setRequestHeader("Content-type","application/json")

③:发送请求

xhr.send()

④:接收响应,监听状态

xhr.onreadystatechange = function(){

    if(xhr.readyState === 4 && xhr.status === 200){
            console.log(xhr.response)    ==>json文件
            //执行功能代码
    }

}

readyState返回值:

0 未初始化  或  请求未初始化

1 正在加载  或  已建立服务器连接

2 已加载    或  已收到请求

3 交互式    或  处理请求

4 表示 完成  或者是  请求已完成且响应已准备好

status状态值:

200请求成功

404请求的资源不存在

500服务器错误

你可能感兴趣的:(前端)