Ajax记录

188 阅读2分钟

Ajax简介

Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术

  • XMLHttpRequest是Ajax的基础,用于和服务器交换数据
  • XMLHttpRequest对象用于在后台与服务器交换数据,这意味着可以在无需重新加载整个网页的情况下,更新部分网页

如需将请求发送到服务器,使用XMLHttpRequest对象open()send()方法

var xhr = new XMLHttpRequest()
xhr.open("GET","test1.txt",true)
xhr.send()

open,send

GET还是POST

与POST相比,GET更简单也更快,并且在大部分情况下都能用。 然而,在以下情况中,请使用POST请求:

  • 无法使用缓存文件(更新服务器上的文件或数据库)

  • 向服务器发送大量数据(POST没有数据量限制)

  • 发送包含未知字符的用户输入时,POST比GET更稳定也更可靠

www.w3school.com.cn/ajax/ajax_x…

XMLHttpRequest Api

XMLHttpRequest.onreadystatechange

当 readyState 属性发生变化时,调用的 EventHandler。

XMLHttpRequest.readyState 只读

返回 一个无符号短整型(unsigned short)数字,代表请求的状态码。

XMLHttpRequest.response 只读

返回一个 ArrayBuffer、Blob、Document,或 DOMString,具体是哪种类型取决于 XMLHttpRequest.responseType 的值。其中包含整个响应实体(response entity body)。

XMLHttpRequest.responseText 只读

返回一个 DOMString,该 DOMString 包含对请求的响应,如果请求未成功或尚未发送,则返回 null。

XMLHttpRequest.responseType

一个用于定义响应类型的枚举值(enumerated value)。

XMLHttpRequest.responseURL 只读

返回经过序列化(serialized)的响应 URL,如果该 URL 为空,则返回空字符串。

XMLHttpRequest.responseXML 只读

返回一个 Document,其中包含该请求的响应,如果请求未成功、尚未发送或时不能被解析为 XML 或 HTML,则返回 null。

XMLHttpRequest.status 只读

返回一个无符号短整型(unsigned short)数字,代表请求的响应状态。

XMLHttpRequest.statusText 只读

返回一个 DOMString,其中包含 HTTP 服务器返回的响应状态。与 XMLHTTPRequest.status 不同的是,它包含完整的响应状态文本(例如,"200 OK")。 注意:根据 HTTP/2 规范(8.1.2.4 Response Pseudo-Header Fields,响应伪标头字段),HTTP/2 没有定义任何用于携带 HTTP/1.1 状态行中包含的版本(version)或者原因短语(reason phrase)的方法。

XMLHttpRequest.timeout

一个无符号长整型(unsigned long)数字,表示该请求的最大请求时间(毫秒),若超出该时间,请求会自动终止。

XMLHttpRequestEventTarget.ontimeout

当请求超时调用的 EventHandler。

XMLHttpRequest.upload

只读

XMLHttpRequestUpload

代表上传进度。

XMLHttpRequest.withCredentials

一个布尔值,用来指定跨域 Access-Control 请求是否应当带有授权信息,如 cookie 或授权 header 头。