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> 
相关推荐
京东云开发者4 分钟前
京东市民服务又“上新”!这次是黑龙江“龙易办”
前端
袋鱼不重1 小时前
我的神奇同事,AI 用多了居然写了个 Open In Codex
前端·后端·ai编程
Fireworks1 小时前
深入vue3源码解读 -- 1、响应式的基础概念
前端
程序员黑豆1 小时前
JDK 下载安装与配置详细教程
java·前端·ai编程
hunterandroid1 小时前
文件存储:内部存储与外部存储
前端
NorBugs2 小时前
飞机大战 Low 版 (Made in AI)
前端
angerdream2 小时前
Android手把手编写儿童手机远程监控App之agentweb如何实现全屏
前端
星栈2 小时前
10 分钟跑起第一个 Dioxus 应用:`dx` CLI、`rsx!` 和热更新好不好用
前端·rust·前端框架
奋斗吧程序媛3 小时前
补充一个小知识点:有关@click.native
前端·vue.js
触底反弹3 小时前
🚀 手把手用 HTML5 Canvas 从零打造飞机大战游戏,代码全开源!
前端·javascript·canvas