xhr和Ajax
AJAX(Asynchronous JavaScript and XML)是一种在网页开发中用于实现异步数据交互的技术,它允许网页在不重新加载整个页面的情况下,与服务器进行数据交换并更新部分页面内容,从而提供更流畅的用户体验。
AJAX的基本原理
- 浏览器通过内置的
XMLHttpRequest
对象(XHR)向服务器发送HTTP请求。 - 服务器接收到请求后进行处理,并返回相应的数据,数据格式通常为XML、JSON或HTML等。
- 浏览器在接收到服务器返回的数据后,使用JavaScript对数据进行处理,并根据需要更新页面的部分内容,而无需刷新整个页面。
创建AJAX请求的基本步骤
- 创建
XMLHttpRequest
对象:使用new XMLHttpRequest()
语句创建一个XMLHttpRequest
对象,该对象提供了发送HTTP请求和处理响应的方法和属性。 - 初始化请求:使用
open()
方法初始化请求,指定请求的方法(如GET
、POST
等)、请求的URL以及是否异步等参数。 - 设置请求头(可选):如果需要,可以使用
setRequestHeader()
方法设置请求头,例如设置Content-Type
为application/json
等。 - 注册事件处理函数:使用
onreadystatechange
事件处理函数来监听请求的状态变化。当请求的状态发生改变时,该函数会被调用。 - 发送请求:使用
send()
方法发送请求。对于GET
请求,通常不需要传递参数;对于POST
请求,需要在send()
方法中传入要发送的数据。 - 处理响应:在
onreadystatechange
事件处理函数中,根据请求的状态和响应的状态码来处理响应数据。当readyState
的值为4且status
的值为200时,表示请求成功完成,可以通过responseText
或responseXML
属性获