AJAX基础

news/2024/11/19 13:16:59/

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8" />

    <title>AJAX</title>

</head>

<body>

<!-- 什么是AJAX

定义AJAX是异步的JavaScript和XML,

简单点说,就是XMLHttpRequest对象与服务器通信,它可以使用JSON,XML,HTML,和text文本格式发送和接收数据,

AJAX最吸引人的就是它的异步特性,也就是说它可以在不重新刷新页面的情况下与服务器通信,交换数据,或更新页面。 -->

<!-- 概念:AJAX是浏览器与服务器进行数据通信的技术,能把把数据变活 -->

<!-- 怎么用AjAX

1.先使用axios库,与服务器进行数据通信

2.再学习XMLHttp Request对象的使用,了解AJAX底层原理 -->

<!-- axios使用

语法:

1.引入axios.js

2.使用axios函数

要传入配置对象,再用.then回调函数接收结果,并做后续处理

axios({

    url:'目标资源地址'

}).then((result)=>{

    //对服务器返回的数据做后续处理

})

-->

<!-- URL

定义:统一资源定位符,简称网址,用于访问网络上的资源

组成:协议+域名+资源路径

http协议:超文本传输协议,规定浏览器和服务器之间传输数据的格式

域名:必须要写的,标记服务器在互联网中的方位

资源路径:标记资源在服务器下的具体位置

-->

<!-- URL查询参数

定义:浏览器提供给服务器的额外信息,让服务器返回浏览器想要的数据

语法:http://xxxx.com/xxx/xxx?参数名=值&参数名2=值2-->

<!-- axios查询参数

语法:使用axios提供的params选项

注意:axios在运行时把参数名和值,会拼接到url?参数名=值

-->

<!-- method:请求的方法,GET可以省略不区分大小写

GET:获取数据 (默认行为可以省略)

POST:提交数据

PUT:修改数据(全部)

PATCH:删除数据

DELETE:修改数据(部分)

-->

<!-- data:提交数据 -->

<!-- axios错误处理

  语法:在then方法的后面,通过点语法调用catch方法,传入回调函数并定义形参

axios({

  //请求选项

}),then(result => {

  //处理数据

}).catch(error =>{

  //处理错误

})

-->

<!--浏览器发送给服务器的内容叫做请求报文

  请求报文格式

1.请求行:请求方法,URL,协议

2.请求头:以键值对的格式携带的附加信息,比如:Content-type(类型)

3.空行:分隔请求头,空行之后的是发送给服务器的资源

4.请求体:发送的资源

可以通过chrome网络面板查看请求报文

请求报文可以用于错误排查

可以通过请求报文排查错误原因,并修复

-->

<!-- HTTP协议-响应报文

HTTP协议:规定了浏览器发送及服务器放回内容的格式

响应报文:服务器按照HTTP协议要求的格式,返回给浏览器的内容

1.响应行(状态行):协议,HTTP响应状态码,状态信息

2.响应头:以键值对的格式携带的附加信息,比如:Content-Type

3.空行:分隔响应头,空行之后的是服务器返回的资源

4.响应体:返回的资源

HTTP响应状态码

用来表明请求是否成功完成

比如404:服务器找不到资源

1xx:信息

2xx:成功

3xx:重定向信息

4xx:客户端错误

5xx:服务器错误

-->

<!-- 接口文档

接口文档:后端提供的描述接口文章

接口:使用AJAX和服务器通讯时,使用的URL,请求方法,以及参数

-->

<p></p>

<!--

    城市列表: http://hmajax.itheima.net/api/city

    参数名: pname

    值: 省份名字

  -->

<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

<script>

    axios({

      url: 'http://hmajax.itheima.net/api/city',

      // 查询参数

      params: {

        pname: '福建省'

      }

    }).then(result => {

      console.log(result.data.list)

      document.querySelector('p').innerHTML = result.data.list.join('<br>')

    })

  </script>

  <button class="btn">注册用户</button>

  <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

  <script>

    /*

      注册用户:http://hmajax.itheima.net/api/register

      请求方法:POST

      参数名:

        username:用户名(中英文和数字组成,最少8位)

        password:密码  (最少6位)

      目标:点击按钮,通过axios提交用户和密码,完成注册

    */

document.querySelector('.btn').addEventListener('click', () => {

    axios({

      url: 'http://hmajax.itheima.net/api/register',

      method: 'post',

      data: {

        username: 'itheima007',

        password: '7654321'

      }

    }).then(result => {

      // 成功

      console.log(result)

    }).catch(error => {

      // 失败

      // 处理错误信息

      console.log(error)

      console.log(error.response.data.message)

      alert(error.response.data.message)

    })

   })

  </script>

</body>

</html>


http://www.ppmy.cn/news/1211596.html

相关文章

java 继承和多态 (图文搭配,万字详解!!)

目录 1.继承 1.1 为什么需要继承 1.2 继承概念 1.3 继承的语法 1.4 父类成员访问 1.4.1 子类中访问父类的成员变量 1.4.2 子类中访问父类的成员方法 1.5 super关键字 1.6 子类构造方法 1.7 super和this 1.8 再谈初始化 1.9 protected 关键字 1.10 继承方式 1.11 f…

Interactive Analysis of CNN Robustness

Interactive Analysis of CNN Robustness----《CNN鲁棒性的交互分析》 摘要 虽然卷积神经网络&#xff08;CNN&#xff09;作为图像相关任务的最先进模型被广泛采用&#xff0c;但它们的预测往往对小的输入扰动高度敏感&#xff0c;而人类视觉对此具有鲁棒性。本文介绍了 Pert…

最新获取支付宝cardIndex参数图文教程

本章教程主要介绍如何获取支付宝的cardIndex参数。 目录 一、登录到支付宝官网 二、在历史记录中,找到对应用户 一、登录到支付宝官网

C++学习---信号处理机制、中断、异步环境

文章目录 前言信号处理signal()函数关于异步环境 信号处理函数示例raise()函数 前言 信号处理 关于信号&#xff0c;信号是一种进程间通信的机制&#xff0c;用于在程序执行过程中通知进程发生了一些事件。在Unix和类Unix系统中&#xff0c;信号是一种异步通知机制&#xff0c…

Shell编程入门--概念、特性、bash配置文件

目录 一、Shell概念1.定义2.分类和使用场景2.1.分类和切换2.2.使用场景 3.特性3.1.文件描述符与输出重定向3.2.历史命令---history3.3.别名 --alias3.4.命令排序执行3.5.部分快捷键3.6.通配符置换 4.脚本规范5.脚本运行方式5.1.bash脚本执行5.2.bash脚本测试 二、bash配置文件1…

36 Gateway网关 快速入门

3.Gateway服务网关 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关&#xff0c;它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式…

HoudiniVex笔记_P0_Houdini中文文档与翻译

1、19.0版本中文说明文档 链接&#xff1a;https://pan.baidu.com/s/1oJcX5pdnBZ_YWWwOSnFB5g?pwdz3tw 提取码&#xff1a;z3tw 2、翻译插件 有上网条件的同学可以试试这个翻译插件&#xff1a;双语网页翻译 - 电子书翻译 - PDF翻译 - 字幕文件翻译浏览器扩展 | 沉浸式翻译…

二十三种设计模式全面解析-解密迭代器模式:探索遍历之道

在软件开发中&#xff0c;遍历数据集合是一个非常常见的需求。但是&#xff0c;如何以一种优雅、灵活的方式遍历集合&#xff0c;并且能够适应各种不同的数据结构和迭代方式&#xff0c;一直是开发者们面临的挑战。今天&#xff0c;我将带你深入探索迭代器模式&#xff08;Iter…