【AJAX】简单学习记录

本文介绍了Ajax的基本概念,包括其工作原理,以及如何通过原生JavaScript和第三方库如jQuery、VUE和axios实现Ajax请求。同时对比了同步与异步交互的特点,并列举了发送请求的不同方式和标签示例。
摘要由CSDN通过智能技术生成


一、Ajax是什么?

  • AJAX = Asynchronous JavaScript and XML异步的 JavaScript 和 XML)。

  • AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

  • AJAX 最大的优点是在不重新加载整个页面的情况下可以与服务器交换数据并更新部分网页内容。

  • AJAX 不需要任何浏览器插件,但需要用户允许 JavaScript 在浏览器上执行。

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

二、AJAX工作原理:

2

  • 简单来说,
    • 我们之前发的请求通过类似 form表单标签,a标签 这种方式,
    • 现在通过 运行js代码动态决定什么时候发送什么样的请求
  • 通过运行JS代码发送的请求 浏览器可以不用跳转页面 ,
    • 我们可以在JS代码中决定是否要跳转页面
  • 通过运行JS代码发送的请求,接收到返回结果后,
    • 我们可以将结果通过dom编程渲染到页面的某些元素上,实现局部更新

三、如何实现ajax请求

  1. 原生javascript方式进行ajax:
  • 流程:
    - 实例化 new XMLHttpRequest();
    - 定义回调函数 onreadystatechange(用于接收响应回来的数据 进行处理)
    - 调用 .open()方法 (设置发送方式与目标资源地址)
    - 调用 .send() 方法 发送请求
    后面用VUE 这个原生实现方式代码繁琐 涉及回调函数问题
<script>
  function getMessage(){
   // 实例化XMLHttpRequest
    var request=new XMLHttpRequest();
      // 设置回调函数处理响应结果 
    request.onreadystatechange=function(){
      if (request.readyState == 4 && request.status == 200)
      {
      	//接收响应结果,处理结果
      	alter("后端响应完毕!");
      	// request.responseText 后端响应回来的响应体中的数据
        var inputEle = document.getElementById("message");
        inputEle.value = request.responseText;
      }
    }
      // 设置请求方式和请求的资源路径
    request.open("GET","/hello?username=doug");
      // 发送请求
    request.send();
  }
</script> 

2
2

  1. 第三方封装好的工具 jquery
  2. 使用框架 VUE axios

四、同步交互与异步交互

同步:
客户端 使用时 服务端不能用
服务端 使用时 客户端不能用
是交替使用
2
异步:
不重新加载页面 的情况下显示信息or跳转页面
举例:
客户端 用户 点了一个按钮 继续操作
服务端 处理数据

使用 : XmlHttpRequest
1


总结

发送请求有哪些方式/标签:

  1. 方式: 地址栏输入地址

  2. html > head > script/link
    img
    自动请求,无需手动触发

  3. a 标签 form表单标签
    手动控制提交表单
    这个一般需要在新的页面获得响应信息

  4. 运行JS代码产生请求
    通过事件触发JS代码 运行发送请求
    响应后 :
    由JS动态代码控制是否跳转页面
    or
    响应信息通过DOM编程显示

举例:
1

Ajax实现方式:

在这里插入图片描述

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道格维克

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值