[ AJAX ] 快速参考

作者: 爱上落入尘世间的你 | 来源:发表于2018-07-06 12:17 被阅读0次

参考阮一峰老师的教程

一般用法

xhr= new XMLHttpRequest()
xhr.open('GET', 'https://www.twesix.cn', true)

// 直接监听onload即可,不必设置函数检查readyState
xhr.onload = function()
{
    // success
    console.log(xhr.response)
}
xhr.onerror = function()
{
    // error
}
xhr.onloadend = function()
{
    // success or error
}

ajax对象的readyState

  • (0)表示 XMLHttpRequest 实例已经生成,但是实例的open()方法还没有被调用。
  • (1)表示open()方法已经调用,但是实例的send()方法还没有调用,仍然可以使用实例的setRequestHeader()方法,设定 HTTP 请求的头信息。
  • (2)表示实例的send()方法已经调用,并且服务器返回的头信息和状态码已经收到。
  • (3)表示正在接收服务器传来的数据体(body 部分)。这时,如果实例的responseType属性等于text或者空字符串,responseText属性就会包含已经收到的部分信息。
  • (4)表示服务器返回的数据已经完全接收,或者本次接收已经失败。

ajax对象的属性

xhr.response
// 服务器返回的数据体(即 HTTP 回应的 body 部分)
// 它可能是任何数据类型,比如字符串、对象、二进制对象等等
// 具体的类型由XMLHttpRequest.responseType属性决定
//该属性只读。

xhr.responseType
xhr.responseText
xhr.responseXML
xhr.responseURL

xhr.status // 状态码
xhr.statusText // 状态码对应的字符串
// 200, OK,访问正常
// 301, Moved Permanently,永久移动
// 302, Moved temporarily,暂时移动
// 304, Not Modified,未修改
// 307, Temporary Redirect,暂时重定向
// 401, Unauthorized,未授权
// 403, Forbidden,禁止访问
// 404, Not Found,未发现指定网址
// 500, Internal Server Error,服务器发生错误

xhr.timeout
XMLHttpRequest.withCredentials // 是否启用cookie

xhr.upload // 上传进度

ajax对象的方法

xhr.open('METHOD', url, async)
xhr.setRequestHeader
xhr.overrideMimeType
xhr.send(any object)
xhr.getResponseHeader
xhr.getAllResponseHeaders
xhr.abort
xhr.onloadstart = fn
xhr.onprogress = fn(event)
 { 
    console.log(event.loaded, event.total, event.lengthComputable)
}
xhr.onabort = fn
xhr.onerror = fn
xhr.onload = fn
xhr.onloadend = fn
xhr.onreadystatechange = fn // 监听readyState的改变
xhr.ontimeout = fn

navigator.sendBeacon

function analytics(state) {
  if (!navigator.sendBeacon) return;

  var URL = 'http://example.com/analytics';
  var data = 'state=' + state + '&location=' + window.location;
  navigator.sendBeacon(URL, data);
}

相关文章

  • [ AJAX ] 快速参考

    参考阮一峰老师的教程 一般用法 ajax对象的readyState (0)表示 XMLHttpRequest 实例...

  • ajax 参考

    https://blog.csdn.net/bymyself11/article/details/52118227...

  • AJAX教程——检视阅读

    AJAX教程——检视阅读 参考 AJAX 教程——菜鸟 AJAX 教程——w3cschool AJAX 教程——w...

  • # Ajax

    Ajax 一、什么是Ajax AJAX = 异步 JavaScript 和 XML。AJAX 是一种用于创建快速动...

  • 刘月林 | jQuery ajax - ajax() 方法

    参考资料W3school: jQuery ajax - ajax() 方法脚本之家: 基于Jquery Ajax ...

  • Day02(创建Ajax,跨域Jsonp,数据库,demo lo

    Ajax 什么是Ajax AJAX = 异步 JavaScript 和 XML。AJAX 是一种用于创建快速动态网...

  • ajax实践

    ajax 是什么?有什么作用? AJAX = 异步 JavaScript 和 XML。AJAX 是一种用于创建快速...

  • 浅谈AJAX

    什么是 AJAX ? AJAX = 异步 JavaScript 和 XML。 AJAX 是一种用于创建快速动态网页...

  • Ajax使用专题

    参考:ajax总结 原生Ajax level 1 XMLHTTPRequest 属性,方法和事件 XMLHTTPR...

  • ajax参考代码

网友评论

    本文标题:[ AJAX ] 快速参考

    本文链接:https://www.haomeiwen.com/subject/wavvuftx.html