Ajax笔记

一. 访问网页的四种方式

1. 浏览器地址栏输入

用户在浏览器地址栏手动输入 URL,主动触发请求,结果在当前窗口 / 标签页加载。

2. HTML 标签自动请求

在 HTML 文档的<head><body>中,部分标签会自动发起请求,无需用户手动操作:

  • <script src="...">:加载外部 JavaScript 文件时自动请求;
  • <link rel="stylesheet" href="...">:加载外部 CSS 样式表时自动请求;
  • <img src="...">:加载图片资源时自动请求。
    这些请求由浏览器解析 HTML 时自动触发,用于获取页面所需的依赖资源(脚本、样式、图片等),以完成页面的渲染。

3. 标签手动触发请求

用户操作特定标签触发,通常伴随页面跳转:

  • <a href="...">:用户点击链接时,请求href指向的 URL,默认在当前或新窗口打开目标页面;
  • <form action="..." method="...">:用户提交表单(如点击提交按钮)时,按method(GET/POST 等)向action指定的 URL 发送数据,请求结果通常在新页面或当前页面加载显示。
    这类请求依赖用户主动操作,且默认行为多为页面跳转。

4. JavaScript 动态请求

通过 JavaScript 代码(通常绑定到用户事件,如点击、输入等)主动发送请求,请求和响应处理均由代码控制:

  • 触发方式 :通过事件(如onclickonload)触发 JS 代码,调用XMLHttpRequestfetch API 或axios等工具发送请求;
  • 响应处理 :请求成功后,可通过 JS 动态处理响应数据,无需跳转页面:
    • 不跳转页面:通过 DOM 编程(如document.getElementById()innerHTML等)将数据直接更新到当前页面的 DOM 树中,实现页面局部刷新;
    • 跳转页面:也可通过window.location.href等方法强制跳转至新页面。
      这种方式灵活度高,是实现 "无刷新页面更新"(如异步加载数据)的核心方式

二 .Ajax

Ajax: 全称Asynchronous JavaScript And XML,即 异步的JavaScript和XML。其作用有如下2点:

1. 作用

与服务器进行数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据。

异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术,如:搜索联想、 用户名是否可用的校验等等。

XMLHttpRequest 只是实现 Ajax 的一种方式。

原生javascript方式进行ajax

1.实例化一个xmlHttpRequest

2.设置xmlHttpRequest对象的回调函数

3.设置 发送请求的方式 和 路径

4. 发送请求

xmlhttp.onreadystatechange

javascript 复制代码
// 设置xmlHttpRequest对象的回调函数
            request.onreadystatechange = function () {
                // request.readyState  1 2 3 4
                // request.status     响应状态码 响应行状态码
                if (request.readyState == 4 && request.status == 200) {
                    // 接收响应结果,处理结果
                }
            }
javascript 复制代码
<script>
  function loadXMLDoc(){
    var xmlhttp=new XMLHttpRequest();
      // 设置回调函数处理响应结果
    xmlhttp.onreadystatechange=function(){
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
      }
    }
      // 设置请求方式和请求的资源路径
    xmlhttp.open("GET","/try/ajax/ajax_info.txt",true);
      // 发送请求
    xmlhttp.send();
  }
</script> 
相关推荐
tianzhiyi1989sq15 分钟前
Vue3 Composition API
前端·javascript·vue.js
Yueeyuee_21 分钟前
【C#学习Day14笔记】泛型、集合(数组列表Arraylist、列表list)与字典
笔记·学习·c#
今禾21 分钟前
Zustand状态管理(上):现代React应用的轻量级状态解决方案
前端·react.js·前端框架
用户25191624271123 分钟前
Canvas之图形变换
前端·javascript·canvas
今禾31 分钟前
Zustand状态管理(下):从基础到高级应用
前端·react.js·前端框架
gnip37 分钟前
js模拟重载
前端·javascript
wdfk_prog38 分钟前
实战指南:如何将Git仓库中的特定文件夹及其历史完整迁移到另一个仓库
大数据·linux·运维·笔记·git·学习·elasticsearch
Naturean40 分钟前
Web前端开发基础知识之查漏补缺
前端
curdcv_po41 分钟前
🔥 3D开发,自定义几何体 和 添加纹理
前端
单身汪v1 小时前
告别混乱:前端时间与时区实用指南
前端·javascript