AJAX
Asynchronous Javascript And XML(异步JavaScript和XML)
- 用js发请求和收回应
- 安装node-dev(npm i -g node-dev)
- node-dev server.js 8888
AJAX是浏览器上的功能
- 浏览器可以发请求和收回应
- 浏览器在window上加了一个XMLHttpRequest函数
- 用这个构造函数可以构造一个对象
- js通过他发请求和响应
fs.readFileSync()括号里接路径
用ajax加载css
四个步骤
- 创建HttpRequest对象(全称XMLHttpRequest)
- 调用对象的open方法
- 监听对象的onload事件和onerror事件
- 改用onreadystatechange事件
- 在事件处理函数里操作css内容
- 调用对象的send()方法
request.readyState的值的含义
- 请求初始化
- 服务器连接已建立
- 请求已接收,接受到了响应头
- 请求已处理,正在下载响应体
- 请求完成,响应就绪
request.status
- 含义:状态码
- 200到299为正常(加载成功)
request.response
- 请求的相应内容
解析方法
- 得到css后生成style标签
- 得到js后生成script标签
- 得到HTML后使用innerHTML和dom API
- 得到xml后使用responseXML和 dom API
JSON
- Javascript Object Notation(js对象标记语言)
- JSON不是编程语言,而是标记语言,和HTML一样用来展示数据
数据类型
- string ———— 只能使用双引号
- number ———— 支持科学记数法
- bool ————true和false
- null
- object
- array
- 不支持函数,变量和引用
JSON.parse
- 将符合 JSON 语法的字符串转换成 JS 对应类型的数据
- JSON 字符串 => JS 数据
- 由于 JSON 只有六种类型,所以转成的数据也只有6种
- 如果不符合 JSON 语法,则直接抛出一个 Error 对象
- 一般用 try catch 捕获错误
JSON.stringify
- 是 JSON.parse 的逆运算
- JS 数据 => JSON 字符串
- JS 的数据类型比 JSON 多,所以不一定能成功
- 失败,就抛出一个 Error 对象