博客
关于我
夜光带你走进 Ajax(二)
阅读量:279 次
发布时间:2019-03-01

本文共 2056 字,大约阅读时间需要 6 分钟。

AJAX技术

AJAX(Asynchronous JavaScript And XML)技术是一种用于实现异步Web应用的技术,它通过在浏览器端直接与服务器通信而无需重新加载页面,来实现数据的动态更新。AJAX的核心是XMLHttpRequest对象,它允许客户端在不影响用户体验的情况下,单独与服务器进行交互。

AJAX第一例

1.1 准备工作

AJAX技术也需要像传统的Web应用一样,与服务器进行通信。因此,我们需要编写一个简易的Servlet来处理AJAX请求。这个Servlet非常简单,只需要能够返回一个“Hello AJAX~~”的响应即可。

public class AServlet extends HttpServlet {    @Override    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        System.out.println("Hello AJAX~~");        response.getWriter().print("Hello AJAX~");    }}

1.2 AJAX核心:XMLHttpRequest对象

AJAX的核心是XMLHttpRequest对象,这是一个在浏览器端本地创建的对象。所有的AJAX交互都通过这个对象来完成。虽然现代浏览器大多数都支持DOM2规范的XMLHttpRequest,但IE浏览器的实现方式有所不同。

创建XMLHttpRequest对象

为了处理不同浏览器的兼容性,我们可以使用以下方法来创建XMLHttpRequest对象:

function createXMLHttpRequest() {    var xmlHttp;    try {        xmlHttp = new XMLHttpRequest();    } catch (e) {        try {            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");        } catch (e) {            try {                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");            } catch (e) {}        }    }    return xmlHttp;}
打开与服务器的连接

在创建了XMLHttpRequest对象后,我们可以调用其open()方法来打开与服务器的连接。open()方法的参数包括:

  • method:请求方式,通常为GET或POST。
  • url:请求的服务器地址。
  • async:表示是否是异步请求,默认值为true。
xmlHttp.open("GET", "/ajaxdemo1/AServlet", true);
发送请求

在打开连接后,我们可以调用send()方法来发送请求。对于GET请求,参数可以直接在URL中追加;对于POST请求,需要在请求体中添加参数。

xmlHttp.send(null);
接收服务器响应

当请求发送完成后,服务器会返回响应。我们可以通过readystatechange事件来接收响应。XMLHttpRequest对象的状态共有五种:

  • 初始化未完成状态。
  • 请求已开始。
  • 请求发送完成。
  • 开始读取服务器响应。
  • 读取服务器响应结束。
  • 通常,我们只关心第五种状态,即响应结束状态。我们可以通过以下方式接收服务器的响应:

    xmlHttp.onreadystatechange = function() {    if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {        alert("Hello~");        alert(xmlHttp.responseText);    }};

    1.6 AJAX第一例小结

    通过以上步骤,我们可以完成一个简单的AJAX交互。总结一下关键步骤:

  • 创建XMLHttpRequest对象。
  • 调用open()方法打开与服务器的连接。
  • 调用send()方法发送请求。
  • 为XMLHttpRequest对象指定readystatechange事件函数,接收服务器的响应。
  • XMLHttpRequest对象的五种状态是:

  • 初始化未完成状态。
  • 请求已开始。
  • 请求发送完成状态。
  • 开始读取服务器响应。
  • 读取服务器响应结束。
  • 通过readystatechange事件,我们可以根据readyState属性获取服务器的响应状态码和响应内容。只有在readyState为4且status为200时,才能获取到完整的响应内容。

    转载地址:http://qtbo.baihongyu.com/

    你可能感兴趣的文章
    python+locust电商全流程性能测试
    查看>>
    Python函数运行的可执行文件的终端输出如何以一般方式静音?
    查看>>
    Python+Pytest+Allure+Git+Jenkins接口自动化框架
    查看>>
    python+pytest接口自动化 —— 参数关联
    查看>>
    python+pytest接口自动化 —— 参数关联
    查看>>
    Python+pytest接口自动化 —— 接口测试基础
    查看>>
    python+pytest接口自动化 —— 自动化用例编写思路 (使用pytest编写一个测试脚本)
    查看>>
    Python+pytest接口自动化之cookie绕过登录(保持登录状态)
    查看>>
    python+pytest接口自动化:接口测试
    查看>>
    Python+requests+unittest执行接口自动化测试详情
    查看>>
    Python+requests+unittest执行接口自动化测试详情
    查看>>
    python+requests+unittest执行自动化接口测试!
    查看>>
    Python+Requests编码识别Bug
    查看>>
    python函数编写_[零基础学python]传说中的函数编写条规
    查看>>
    Python+selenium —— UI自动化之鼠标操作
    查看>>
    python函数注释,参数后面加冒号:,函数后面的箭头→是什么?
    查看>>
    Python+Selenium+Threading进行兼容性测试
    查看>>
    Python+selenium+unittest的GUI自动化框架实现
    查看>>
    python函数拟合不规则曲线_Python计算&绘图——曲线拟合问题(转)
    查看>>
    python函数定义的基本格式_零基础学python-2.19 定义函数、调用函数与默认参数
    查看>>