让前端飞

AJAX

2019-01-23  本文已影响2人  小7丁

异步的JavaScript和XML

  1. 使用XMLHttpRequest 发请求
  2. 服务器返回XML格式的字符串
  3. JS解析XML, 并更新局部页面
readyState

只需要记住readyState === 4 的情况

只有 协议+端口+域名 一模一样才允许发AJAX请求(同源策略)
如果不同源, 可以用CORS解决

response.setHeader('Access-Control-Allow-Origin', 'url') 

请使用原生JS发送AJAX请求

myButton.addEventListener('click', (e) => {
  let request = new XMLHttpRequest()
  request.open('GET', 'http://jack.com:8002/xxx') // 配置request
  request.send()
  request.onreadystatechange = () => { // 监听状态
    if (request.readyState === 4) { // 判断状态是否完成
      if (request.status === 200) {
        let string = request.responseText
        let object = window.JSON.parse(string) // 把符合JSON语法的字符串转换成JS对象
        console.log(object)
      } else if (request.status >= 400) {
        console.log('fail')
      }
    }
  }
})
上一篇 下一篇

猜你喜欢

热点阅读