《AJAX》

64 阅读2分钟

AJAX

Asynchronous Javascript And XML(异步JavaScript和XML)

  • 用js发请求和收回应
  • 安装node-dev(npm i -g node-dev)
  • node-dev server.js 8888

AJAX是浏览器上的功能

  • 浏览器可以发请求和收回应
  • 浏览器在window上加了一个XMLHttpRequest函数
  • 用这个构造函数可以构造一个对象
  • js通过他发请求和响应

1665568891(1).png fs.readFileSync()括号里接路径

用ajax加载css

1665568963(1).png

四个步骤

  1. 创建HttpRequest对象(全称XMLHttpRequest)
  2. 调用对象的open方法
  3. 监听对象的onload事件和onerror事件
    • 改用onreadystatechange事件
    • 在事件处理函数里操作css内容
  4. 调用对象的send()方法

1665569175(1).png

request.readyState的值的含义

  1. 请求初始化
  2. 服务器连接已建立
  3. 请求已接收,接受到了响应头
  4. 请求已处理,正在下载响应体
  5. 请求完成,响应就绪

request.status

  • 含义:状态码
  • 200到299为正常(加载成功)

request.response

  • 请求的相应内容

解析方法

  1. 得到css后生成style标签
  2. 得到js后生成script标签
  3. 得到HTML后使用innerHTML和dom API
  4. 得到xml后使用responseXML和 dom API

1665569722(1).png

JSON

  • Javascript Object Notation(js对象标记语言)
  • JSON不是编程语言,而是标记语言,和HTML一样用来展示数据

数据类型

  1. string ———— 只能使用双引号
  2. number ———— 支持科学记数法
  3. bool ————true和false
  4. null
  5. object
  6. array
  7. 不支持函数,变量和引用

JSON.parse

  • 将符合 JSON 语法的字符串转换成 JS 对应类型的数据
  • JSON 字符串 => JS 数据
  • 由于 JSON 只有六种类型,所以转成的数据也只有6种
  • 如果不符合 JSON 语法,则直接抛出一个 Error 对象
  • 一般用 try catch 捕获错误

JSON.stringify

  • 是 JSON.parse 的逆运算
  • JS 数据 => JSON 字符串
  • JS 的数据类型比 JSON 多,所以不一定能成功
  • 失败,就抛出一个 Error 对象