持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第8天,点击查看活动详情
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服务器错误