ajax技术知识总结

简述

ajax(Asynchronous JavaScript and XML)是一种异步的JavaScriptXML技术。可以使网页实现异步更新,即在不重新加载整个页面的情况下, 与服务端进行少量数据交换,对网页的某部分内容进行更新。

创建对象

创建XMLHttpRequest对象

XMLHttpRequest对象属性

属性 描述
onreadystatechange 存储函数名,每当readyState的状态发生变化时,都会调用该函数。
readyState 一个完整的请求,XMLHttpRequest的状态会从0到4发生变化。
0:请求未初始化
1:服务器连接已建立
2:请求已接收
3:请求处理中
4:请求已完成,且响应已就绪
responsText 以文本形式返回响应。
responsXML 以XML格式返回响应
status 以数字返回状态(如成功200)
statusText 以字符串形式返回状态

XMLHttpRequest对象方法

方法 描述
abort() 取消当前请求。
getAllResponseHeaders() 以字符串形式返回完整的HTTP标头集。
getResponseHeader(headerName) 返回指定HTTP标头的值。
open(method, url, async, [username], [password]) 打开指定获取的方法和请求地址。
send(content) 发送获取请求。
setRequestHeader(label, value) 将标签/值对添加到要发送的HTTP标头中。

请求

open()方法参数详解如下:

  • method:请求的类型,值为GETPOST
  • url:文件在服务器上的位置
  • async:设置请求方式,true同步,false异步

GET请求速度较快,但以下场景建议使用POST请求:

  • 向服务器发送大量的数据(POST请求没有长度限制)
  • 发送用户输入的字符场景

响应

发送请求后,需要等待服务器处理并返回数据。

属性 描述
responseText 获得字符串形式的响应数据。
responseXML 获得 XML 形式的响应数据。

基本使用

jQuery中的Ajax

浏览器提供的 XMLHttpRequest 用法比较复杂,所以jQuery对其进行了封装,提供一系列 Ajax 的函数,极大的降低了 Ajax 的使用难度。

$.get()

功能单一,只能发起 get 请求,从而将服务器上的资源请求到客户端上来使用。

参数详解

  • url string,必选,要请求的资源地址
  • data object,否,请求资源时携带的参数
  • callback function,否,请求成功时的回调函数

$.post()

功能单一,只能发起 post 请求,从而向服务器提交数据。

参数详解

  • url string,必选,提交数据的地址
  • data object,否,要提交的数据
  • callback function,否,请数据提交成功的回调函数

$.ajax()

功能综合,允许对 Ajax 请求进行更详细的配置。

示例如下:

axios

专注于网络数据请求的库。

优势:

  1. 相比于原生的 XMLHttpRequest 对象,axios简单易用;
  2. 相比于 JQueryaxios 更加轻量化,只专注于网络数据请求。

axios 发起 GET 请求

axios 发起 POST 请求

直接使用 axios 发起请求

post数据需要通过data属性提供

原创文章,作者:seabert,如若转载,请注明出处:https://bysjb.cn/ajax.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注